Skip to content
geeksforgeeks
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Tutorials
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
  • Practice
    • Build your AI Agent
    • GfG 160
    • Problem of the Day
    • Practice Coding Problems
    • GfG SDE Sheet
  • Contests
    • Accenture Hackathon (Ending Soon!)
    • GfG Weekly [Rated Contest]
    • Job-A-Thon Hiring Challenge
    • All Contests and Events
  • DSA
  • Practice Mathematical Algorithm
  • Mathematical Algorithms
  • Pythagorean Triplet
  • Fibonacci Number
  • Euclidean Algorithm
  • LCM of Array
  • GCD of Array
  • Binomial Coefficient
  • Catalan Numbers
  • Sieve of Eratosthenes
  • Euler Totient Function
  • Modular Exponentiation
  • Modular Multiplicative Inverse
  • Stein's Algorithm
  • Juggler Sequence
  • Chinese Remainder Theorem
  • Quiz on Fibonacci Numbers
Open In App
Next Article:
C++ Program for Largest K digit number divisible by X
Next article icon

Program to delete Nth digit of a Number

Last Updated : 30 Jun, 2022
Comments
Improve
Suggest changes
Like Article
Like
Report

Given a number num and a number n, the task is to delete this nth digit of the number num, from starting and from end.
Examples: 
 

Input: num = 1234, n = 3 
Output: num_after_deleting_from_starting = 124, num_after_deleting_from_end = 134
Input: num = 4516312, n = 2 
Output: num_after_deleting_from_starting = 416312, num_after_deleting_from_end = 451632


Approach: 
 

  • To delete nth digit from starting:
    1. Get the number and the nth digit to be deleted.
    2. Count the number of digits
    3. Loop number of digits time by counting it with a variable i.
    4. If the i is equal to (number of digits - n), then skip, else add the ith digit as [ new_number = (new_number * 10) + ith_digit ].
  • To delete nth digit from ending:
    1. Get the number and the nth digit to be deleted.
    2. Loop number of digits time by counting it with a variable i.
    3. If the i is equal to (n), then skip, else add the ith digit as [ new_number = (new_number * 10) + ith_digit ].


Implementation: 
 

C++
// C++ implementation of above approach #include <bits/stdc++.h> using namespace std;  // Function to delete nth digit // from starting int deleteFromStart(int num, int n) {      // Get the number of digits     int d = log10(num) + 1;      // Declare a variable     // to form the reverse resultant number     int rev_new_num = 0;      // Loop with the number     for (int i = 0; num != 0; i++) {          int digit = num % 10;         num = num / 10;          if (i == (d - n)) {             continue;         }         else {              rev_new_num = (rev_new_num * 10) + digit;         }     }      // Declare a variable     // to form the resultant number     int new_num = 0;      // Loop with the number     for (int i = 0; rev_new_num != 0; i++) {          new_num = (new_num * 10)                   + (rev_new_num % 10);         rev_new_num = rev_new_num / 10;     }      // Return the resultant number     return new_num; }  // Function to delete nth digit // from ending int deleteFromEnd(int num, int n) {      // Declare a variable     // to form the reverse resultant number     int rev_new_num = 0;      // Loop with the number     for (int i = 1; num != 0; i++) {          int digit = num % 10;         num = num / 10;          if (i == n) {             continue;         }         else {              rev_new_num = (rev_new_num * 10) + digit;         }     }      // Declare a variable     // to form the resultant number     int new_num = 0;      // Loop with the number     for (int i = 0; rev_new_num != 0; i++) {          new_num = (new_num * 10)                   + (rev_new_num % 10);         rev_new_num = rev_new_num / 10;     }      // Return the resultant number     return new_num; }  // Driver code int main() {      // Get the number     int num = 1234;     cout << "Number: " << num << endl;      // Get the digit number to be deleted     int n = 3;     cout << "Digit to be deleted: " << n << endl;      // Remove the nth digit from starting     cout << "Number after " << n          << " digit deleted from starting: "          << deleteFromStart(num, n) << endl;      // Remove the nth digit from ending     cout << "Number after " << n          << " digit deleted from ending: "          << deleteFromEnd(num, n) << endl;      return 0; } 
Java
// Java implementation of above approach   class GFG {     // Function to delete nth digit     // from starting     static int deleteFromStart(int num, int n)     {              // Get the number of digits         int d = (int)Math.log10(num) + 1;              // Declare a variable         // to form the reverse resultant number         int rev_new_num = 0;              // Loop with the number         for (int i = 0; num != 0; i++) {                  int digit = num % 10;             num = num / 10;                  if (i == (d - n)) {                 continue;             }             else {                      rev_new_num = (rev_new_num * 10) + digit;             }         }              // Declare a variable         // to form the resultant number         int new_num = 0;              // Loop with the number         for (int i = 0; rev_new_num != 0; i++) {                  new_num = (new_num * 10)                     + (rev_new_num % 10);             rev_new_num = rev_new_num / 10;         }              // Return the resultant number         return new_num;     }          // Function to delete nth digit     // from ending     static int deleteFromEnd(int num, int n)     {              // Declare a variable         // to form the reverse resultant number         int rev_new_num = 0;              // Loop with the number         for (int i = 1; num != 0; i++) {                  int digit = num % 10;             num = num / 10;                  if (i == n) {                 continue;             }             else {                      rev_new_num = (rev_new_num * 10) + digit;             }         }              // Declare a variable         // to form the resultant number         int new_num = 0;              // Loop with the number         for (int i = 0; rev_new_num != 0; i++) {                  new_num = (new_num * 10)                     + (rev_new_num % 10);             rev_new_num = rev_new_num / 10;         }              // Return the resultant number         return new_num;     }          // Driver code     public static void main(String []args)     {              // Get the number         int num = 1234;         System.out.println("Number: " + num );              // Get the digit number to be deleted         int n = 3;         System.out.println("Digit to be deleted: " + n );              // Remove the nth digit from starting         System.out.println("Number after " + n             + " digit deleted from starting: "             + deleteFromStart(num, n));              // Remove the nth digit from ending         System.out.println( "Number after " + n             + " digit deleted from ending: "             + deleteFromEnd(num, n));                   }  }  // This code is contributed by ihritik 
Python3
# Python3 implementation of above approach  # Function to delete nth digit # from starting import math; def deleteFromStart(num, n):      # Get the number of digits     d = (math.log10(num) + 1);      # Declare a variable to form      # the reverse resultant number     rev_new_num = 0;      # Loop with the number     i = 0;     while (num != 0):          digit = num % 10;         num = int(num / 10);          if (i != (int(d) - n)):             rev_new_num = ((rev_new_num * 10) +                                         digit);         i += 1;      # Declare a variable to form the     # resultant number     new_num = 0;      # Loop with the number     i = 0;     while (rev_new_num != 0):          new_num = ((new_num * 10) +                     (rev_new_num % 10));         rev_new_num = int(rev_new_num / 10);         i += 1;      # Return the resultant number     return new_num;  # Function to delete nth digit # from ending def deleteFromEnd(num, n):      # Declare a variable to form      # the reverse resultant number     rev_new_num = 0;      # Loop with the number     i = 1;     while (num != 0):          digit = num % 10;         num = int(num / 10);          if (i != n):             rev_new_num = ((rev_new_num * 10) +                                         digit);         i += 1;      # Declare a variable     # to form the resultant number     new_num = 0;      # Loop with the number     i = 0;     while (rev_new_num != 0):          new_num = ((new_num * 10) +                     (rev_new_num % 10));         rev_new_num = int(rev_new_num / 10);         i += 1;      # Return the resultant number     return new_num;  # Driver code # Get the number num = 1234; print("Number:", num);  # Get the digit number to be deleted n = 3; print("Digit to be deleted:", n);  # Remove the nth digit from starting print("Number after", n,        "digit deleted from starting:",              deleteFromStart(num, n));  # Remove the nth digit from ending print("Number after", n,        "digit deleted from ending:",              deleteFromEnd(num, n));  # This code is contributed by chandan_jnu 
C#
// C# implementation of the above approach  using System; class GFG {     // Function to delete nth digit     // from starting     static int deleteFromStart(int num, int n)     {              // Get the number of digits         int d = (int)Math.Log10(num) + 1;              // Declare a variable         // to form the reverse resultant number         int rev_new_num = 0;              // Loop with the number         for (int i = 0; num != 0; i++) {                  int digit = num % 10;             num = num / 10;                  if (i == (d - n)) {                 continue;             }             else {                      rev_new_num = (rev_new_num * 10) + digit;             }         }              // Declare a variable         // to form the resultant number         int new_num = 0;              // Loop with the number         for (int i = 0; rev_new_num != 0; i++) {                  new_num = (new_num * 10)                     + (rev_new_num % 10);             rev_new_num = rev_new_num / 10;         }              // Return the resultant number         return new_num;     }          // Function to delete nth digit     // from ending     static int deleteFromEnd(int num, int n)     {              // Declare a variable         // to form the reverse resultant number         int rev_new_num = 0;              // Loop with the number         for (int i = 1; num != 0; i++) {                  int digit = num % 10;             num = num / 10;                  if (i == n) {                 continue;             }             else {                      rev_new_num = (rev_new_num * 10) + digit;             }         }              // Declare a variable         // to form the resultant number         int new_num = 0;              // Loop with the number         for (int i = 0; rev_new_num != 0; i++) {                  new_num = (new_num * 10)                     + (rev_new_num % 10);             rev_new_num = rev_new_num / 10;         }              // Return the resultant number         return new_num;     }          // Driver code     public static void Main()     {              // Get the number         int num = 1234;         Console.WriteLine("Number: " + num );              // Get the digit number to be deleted         int n = 3;         Console.WriteLine("Digit to be deleted: " + n );              // Remove the nth digit from starting         Console.WriteLine("Number after " + n             + " digit deleted from starting: "             + deleteFromStart(num, n));              // Remove the nth digit from ending         Console.WriteLine( "Number after " + n             + " digit deleted from ending: "             + deleteFromEnd(num, n));                   }  }  // This code is contributed by ihritik 
PHP
<?php //PHP implementation of above approach // Function to delete nth digit // from starting  function  deleteFromStart($num, $n) {      // Get the number of digits     $d = (log10($num) + 1);      // Declare a variable     // to form the reverse resultant number     $rev_new_num = 0;      // Loop with the number     for ($i = 0; $num != 0; $i++) {          $digit = $num % 10;         $num = (int)$num / 10;          if ($i == ($d - $n)) {             continue;         }         else {              $rev_new_num = ($rev_new_num * 10) + $digit;         }     }      // Declare a variable     // to form the resultant number     $new_num = 0;      // Loop with the number     for ($i = 0; $rev_new_num != 0; $i++) {          $new_num = ($new_num * 10)                 + ($rev_new_num % 10);         $rev_new_num = (int)$rev_new_num / 10;     }      // Return the resultant number     return $new_num; }  // Function to delete nth digit // from ending  function  deleteFromEnd($num, $n) {      // Declare a variable     // to form the reverse resultant number     $rev_new_num = 0;      // Loop with the number     for ($i = 1; $num != 0; $i++) {          $digit = $num % 10;         $num = (int)$num / 10;          if ($i == $n) {             continue;         }         else {              $rev_new_num = ($rev_new_num * 10) + $digit;         }     }      // Declare a variable     // to form the resultant number     $new_num = 0;      // Loop with the number     for ($i = 0; $rev_new_num != 0; $i++) {          $new_num = ($new_num * 10)                 + ($rev_new_num % 10);         $rev_new_num = (int)$rev_new_num / 10;     }      // Return the resultant number     return $new_num; }  // Driver code     // Get the number     $num = 1234;     echo "Number: " , $num ,"\n";      // Get the digit number to be deleted     $n = 3;     echo "Digit to be deleted: " ,$n ,"\n";      // Remove the nth digit from starting     echo  "Number after " , $n,         " digit deleted from starting: ",          deleteFromStart($num, $n),"\n";      // Remove the nth digit from ending     echo  "Number after " , $n,          " digit deleted from ending: ",         deleteFromEnd($num, $n) ,"\n";    ?> // This code is contributed by jit_t. 
JavaScript
<script>      // Javascript implementation of      // the above approach          // Function to delete nth digit     // from starting     function deleteFromStart(num, n)     {                // Get the number of digits         let d = parseInt(Math.log10(num), 10) + 1;                // Declare a variable         // to form the reverse resultant number         let rev_new_num = 0;                // Loop with the number         for (let i = 0; num != 0; i++) {                    let digit = num % 10;             num = parseInt(num / 10, 10);                    if (i == (d - n)) {                 continue;             }             else {                        rev_new_num = (rev_new_num * 10) + digit;             }         }                // Declare a variable         // to form the resultant number         let new_num = 0;                // Loop with the number         for (let i = 0; rev_new_num != 0; i++) {                    new_num = (new_num * 10)                     + (rev_new_num % 10);             rev_new_num = parseInt(rev_new_num / 10, 10);         }                // Return the resultant number         return new_num;     }            // Function to delete nth digit     // from ending     function deleteFromEnd(num, n)     {                // Declare a variable         // to form the reverse resultant number         let rev_new_num = 0;                // Loop with the number         for (let i = 1; num != 0; i++) {                    let digit = num % 10;             num = parseInt(num / 10, 10);                    if (i == n) {                 continue;             }             else {                        rev_new_num = (rev_new_num * 10) + digit;             }         }                // Declare a variable         // to form the resultant number         let new_num = 0;                // Loop with the number         for (let i = 0; rev_new_num != 0; i++) {                    new_num = (new_num * 10)                     + (rev_new_num % 10);             rev_new_num = parseInt(rev_new_num / 10, 10);         }                // Return the resultant number         return new_num;     }          // Get the number     let num = 1234;     document.write("Number: " + num + "</br>");      // Get the digit number to be deleted     let n = 3;     document.write("Digit to be deleted: " + n  + "</br>");      // Remove the nth digit from starting     document.write("Number after " + n                       + " digit deleted from starting: "                       + deleteFromStart(num, n) + "</br>");      // Remove the nth digit from ending     document.write( "Number after " + n                       + " digit deleted from ending: "                       + deleteFromEnd(num, n));      </script> 

Output: 
Number: 1234 Digit to be deleted: 3 Number after 3 digit deleted from starting: 124 Number after 3 digit deleted from ending: 134

 

Complexity Analysis:

Time complexity: O(log(N)).

Auxiliary Space: O(1), since no extra space has been taken.

Another Approach: (To convert number into string) 

C++
// C++ implementation to delete nth digit // from starting with O(logN) time complexity. #include<bits/stdc++.h> using namespace std;  // function to delete nth number from starting static string fromStart(string inp, int del)  {     string inp1 = inp.substr(0, del - 1);     string inp2 = inp.substr(del, inp.length());     return inp1 + inp2; }  // function to delete nth number from ending static string fromEnd(string inp, int del)  {     string inp1 = inp.substr(0, inp.length() - del);     string inp2 = inp.substr(inp.length() - del + 1,                                        inp.length());     return inp1 + inp2; }  // Driver Code int main()  {     int in = 1234;          // type cast input number to string     stringstream ss;     ss << in;     string inp = ss.str();     int del = 3;     cout << "num_after_deleting_from_starting "           << fromStart(inp, del) << endl;     cout << "num_after_deleting_from_ending "          << fromEnd(inp, del) << endl;     return 0; }  // This code is contributed by chandan_jnu 
Java
// Java implementation to delete nth digit // from starting with O(logN) time complexity.  public class DeleteN {      public static void main(String args[]) {          int in = 1234;         // type cast input number to string         String inp = Integer.toString(in);         int del = 3;         System.out.println("num_after_deleting_from_starting " + fromStart(inp, del));         System.out.println("num_after_deleting_from_ending " + fromEnd(inp, del));     }      // function to delete nth number from starting     static String fromStart(String inp, int del) {          try {             String inp1 = inp.substring(0, del - 1);             String inp2 = inp.substring(del, inp.length());             return inp1 + inp2;         }          catch (Exception e) {             return "Check Input";         }     }      // function to delete nth number from ending     static String fromEnd(String inp, int del) {          try {             String inp1 = inp.substring(0, inp.length() - del);             String inp2 = inp.substring(inp.length() - del + 1, inp.length());             return inp1 + inp2;         }          catch (Exception e) {             return "Check Input";         }     }  } 
Python3
# Python3 implementation to delete nth digit # from starting with O(logN) time complexity.  # function to del1ete nth number  # from starting def fromStart(inp, del11):       inp1 = inp[0:del1 - 1];     inp2 = inp[del1:len(inp)];     return inp1 + inp2;  # function to delete nth number  # from ending def fromEnd(inp, del1):     inp1 = inp[0:len(inp) - del1];     inp2 = inp[len(inp) - del1 + 1:len(inp)];     return inp1 + inp2;  # Driver Code in1 = 1234;  # type cast input number to string inp = str(in1); del1 = 3; print("num_after_deleting_from_starting",                     fromStart(inp, del1)); print("num_after_deleting_from_ending",                     fromEnd(inp, del1));  # This code is contributed by chandan_jnu 
C#
// C# implementation to delete nth digit  // from starting with O(logN) time complexity.  using System ;  public class DeleteN {       public static void Main() {           int num = 1234;                   // type cast input number to string          string inp = Convert.ToString(num) ;          int del = 3;          Console.WriteLine("num_after_deleting_from_starting "                              + fromStart(inp, del));          Console.WriteLine("num_after_deleting_from_ending "                              + fromEnd(inp, del));      }       // function to delete nth number from starting      static String fromStart(string inp, int del) {           try {              string inp1 = inp.Substring(0, del - 1);              string inp2 = inp.Substring(del, inp.Length - del);              return inp1 + inp2;          }           catch (Exception ) {              return "Check Input";          }      }       // function to delete nth number from ending      static String fromEnd(string inp, int del) {           try {              string inp1 = inp.Substring(0, inp.Length - del);              string inp2 = inp.Substring(inp.Length - del + 1, del - 1);              return inp1 + inp2;          }           catch (Exception e) {              Console.WriteLine(e) ;             return "Check Input";          }      }  }   // This code is contributed by Ryuga 
PHP
<?php // PHP implementation to delete nth digit // from starting with O(logN) time complexity.  // function to delete nth number from starting function fromStart($inp, $del)  {     $inp1 = substr($inp, 0, $del - 1);     $inp2 = substr($inp, $del, strlen($inp));     return $inp1.$inp2; }  // function to delete nth number from ending function fromEnd($inp, $del)  {     $inp1 = substr($inp, 0, strlen($inp) - $del);     $inp2 = substr($inp, strlen($inp) - $del + 1,                           strlen($inp));     return $inp1.$inp2; }  // Driver Code $in = 1234;  // type cast input number to string $inp = strval($in); $del = 3; print("num_after_deleting_from_starting " .              fromStart($inp, $del) . "\n"); print("num_after_deleting_from_ending " .                      fromEnd($inp, $del));  // This code is contributed by chandan_jnu ?> 
JavaScript
<script>     // Javascript implementation to delete nth digit     // from starting with O(logN) time complexity.          // function to delete nth number from starting     function fromStart(inp, del) {       let inp1 = inp.substring(0, del - 1);       let inp2 = inp.substring(del, inp.length);       return inp1 + inp2;     }          function fromEnd(inp, del) {         let inp1 = inp.substring(0, inp.length - del);       let inp2 = inp.substring(inp.length - del + 1, inp.length - del + 1 + inp.length);       return inp1 + inp2;     }          let In = 1234;            // type cast input number to string       let inp = In.toString();     let del = 3;     document.write("num_after_deleting_from_starting " + fromStart(inp, del) + "</br>");     document.write("num_after_deleting_from_ending " + fromEnd(inp, del) + "</br>");          // This code is contributed by mukesh07. </script> 

Output:  

num_after_deleting_from_starting 124 num_after_deleting_from_ending 134

Time complexity :O(log(N)).

Auxiliary Space: O(log(N)).
 


Next Article
C++ Program for Largest K digit number divisible by X

M

Mostafijur Rahaman
Improve
Article Tags :
  • Mathematical
  • C++ Programs
  • DSA
  • number-digits
Practice Tags :
  • Mathematical

Similar Reads

  • C++ Program to Rotate digits of a given number by K
    Given two integers N and K, the task is to rotate the digits of N by K. If K is a positive integer, left rotate its digits. Otherwise, right rotate its digits. Examples: Input: N = 12345, K = 2Output: 34512 Explanation: Left rotating N(= 12345) by K(= 2) modifies N to 34512. Therefore, the required
    2 min read
  • Largest and smallest digit of a number
    Given a number N. The task is to find the largest and the smallest digit of the number.Examples : Input : N = 2346 Output : 6 2 6 is the largest digit and 2 is smallestInput : N = 5 Output : 5 5 Approach: An efficient approach is to find all digits in the given number and find the largest and the sm
    7 min read
  • C++ Program to Check Whether a Number is Palindrome or Not
    A palindrome number is a number that remains the same even if its digits are reversed. In this article, we will learn how to check a given number is a palindrome or not in C++. The easiest way to check if a number is a palindrome is to simply reverse the original number, then check if both numbers a
    4 min read
  • TCS Coding Practice Question | Sum of Digits of a number
    Given a number, the task is to find the Sum of Digits of this number using Command Line Arguments. Examples: Input: num = 687 Output: 21 Input: num = 12 Output: 3 Approach: Since the number is entered as Command line Argument, there is no need for a dedicated input lineExtract the input number from
    4 min read
  • C++ Program for Largest K digit number divisible by X
    Integers X and K are given. The task is to find highest K-digit number divisible by X. Examples: Input : X = 30, K = 3 Output : 990 990 is the largest three digit number divisible by 30. Input : X = 7, K = 2 Output : 98 An efficient solution is to use below formula. ans = MAX - (MAX % X) where MAX i
    1 min read
  • C++ Program for Smallest K digit number divisible by X
    Integers X and K are given. The task is to find the smallest K-digit number divisible by X. Examples: Input : X = 83, K = 5 Output : 10043 10040 is the smallest 5 digit number that is multiple of 83. Input : X = 5, K = 2 Output : 10 An efficient solution would be : Compute MIN : smallest K-digit num
    2 min read
  • How to store a very large number of more than 100 digits in C++
    Given an integer N in form of string str consisting of more than 100 digits, the task is to store the value for performing an arithmetic operation and print the given integer.Examples: Input: str = "54326789013892014531903492543267890138920145319034925432678901389201" Output: 54326789013892014531903
    3 min read
  • Perform n steps to convert every digit of a number in the format [count][digit]
    Given a number num as a string and a number N. The task is to write a program which converts the given number num to another number after performing N steps. At each step, every digit of num will be written in the format [count][digit] in the new number, where count is the number of times a digit oc
    12 min read
  • Minimum number of digits to be removed so that no two consecutive digits are same
    Given a number N. The task is to count the minimum number of digits to be removed from the number so that no two consecutive digits are the same.Examples: Input : N = 11344 Output : 2 Explanation : Remove the digit 1 from 2nd place and 4 from the end so that the number becomes 134. Thus no two conse
    5 min read
  • Find all digits of given number N that are factors of N
    Given a number N, the task is to print the digits of N which divide N. Example: Input: N = 234Output: 2 3 Input: N = 555Output: 5 Approach: The idea is to iterate over all the digits of N and check whether that digit divides N or not. Follow the steps below to solve the problem: Initialize the varia
    4 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences