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
  • Python Tutorial
  • Interview Questions
  • Python Quiz
  • Python Glossary
  • Python Projects
  • Practice Python
  • Data Science With Python
  • Python Web Dev
  • DSA with Python
  • Python OOPs
Open In App
Next Article:
Why is python best suited for Competitive Coding?
Next article icon

Getting Started with Competitive Programming in Python

Last Updated : 01 Nov, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

Python is a great option for programming in Competitive Programming. First off, its easy-to-understand and concise grammar enables quicker development and simpler debugging. The huge standard library of Python offers a wide range of modules and functions that can be used to effectively address programming difficulties. Python also offers dynamic typing, intelligent memory management, and high-level data structures, which speed up development and simplify coding.

competitive-programming-python

Table of Contents:

1. How to start Competitive Programming using Python: 

  1. Learn Python language 
    1. Python list and string manipulation: 
  2. Learn Data Structures and Algorithms 
    1. Implementing a simple linked list: 
  3. Use Python Libraries 
    1. Using NumPy for array manipulation: 
  4. Optimize code step by step 
    1. Brute-force approach to find the maximum element in a list: 
  5. Take part in contests 
    1. Solving a simple problem on GeeksForGeeks: 
  6. Look for Better solutions 
    1. Comparing two solutions to find the maximum element in a list: 
  7. Practice Time Management 

2. Examples: 

  1. Binary Search Algorithm in Python: 
  2. Solving the Knapsack Problem: 
  3. DFS algorithm for graph traversal: 
  4. Longest Increasing Subsequence problem using Dynamic Programming: 
  5. Trie data structure: 

3. Tips for improving in Competitive Programming: 
4. Pros of Using Python for CP: 
5. Cons of Using Python for CP: 
6. Conclusion:

How to start Competitive Programming using Python:

1. Learn Python language

We should learn the basics of the Python language which contain syntax, datatypes, list, string, tuples, etc; 

Python list and string manipulation:

Python3
# Creating a list numbers = [1, 2, 3, 4, 5]  # Accessing list elements print(numbers[0])  # Output: 1  # String concatenation name = "John" greeting = "Hello, " + name + "!" print(greeting)  # Output: Hello, John! 

Output
1 Hello, John! 

2. Learn Data Structures and Algorithms

Learn data structures and algorithms like arrays, linked lists, stacks, queues, trees, graphs, sorting, searching, and dynamic programming.

Implementing a simple linked list:

Python3
# Node class to represent a linked list node class Node:     def __init__(self, data):         self.data = data         self.next = None  # Linked list class with basic operations class LinkedList:     def __init__(self):         self.head = None      def append(self, data):         new_node = Node(data)         if not self.head:             self.head = new_node         else:             current = self.head             while current.next:                 current = current.next             current.next = new_node      def print_list(self):         current = self.head         while current:             print(current.data, end=" -> ")             current = current.next         print("None")  # Usage of linked list linked_list = LinkedList() linked_list.append(1) linked_list.append(2) linked_list.append(3) linked_list.print_list() 

Output
1 -> 2 -> 3 -> None 

3. Use Python Libraries

Python libraries such as NumPy, Pandas, SciPy, and Matplotlib are a few libraries for programming competitions.

Using NumPy for array manipulation:

Python
import numpy as np  # Creating a NumPy array arr = np.array([1, 2, 3, 4, 5])  # Sum of array elements print(np.sum(arr))  # Output: 15  # Sorting the array sorted_arr = np.sort(arr) print(sorted_arr)  # Output: [1 2 3 4 5] 

4. Optimize code step by step

Optimize your code starting with a brute force approach, a better solution, and at last best solution.

Brute-force approach to find the maximum element in a list:

Python3
def find_max_element(arr):     max_element = arr[0]     for num in arr:         if num > max_element:             max_element = num     return max_element 

5. Take part in contests

Once you feel comfortable solving problems, participate in competitions like GeeksForGeeks, Google Code Jam, HackerRank, or Codeforces. 

Solving a simple problem on GeeksForGeeks:

Python3
def find_max_element_1(arr):     # Solution 1: Using built-in max() function     return max(arr)  def find_max_element_2(arr):     # Solution 2: Using a loop to find max element     max_element = arr[0]     for num in arr:         if num > max_element:             max_element = num     return max_element 

6. Look for Better solutions

Review other people's solutions after each problem or contest. Search for more elegant or effective solutions to these problems. You will increase your expertise by reading about and understanding the methods used by skilled programmers.

Comparing two solutions to find the maximum element in a list:

Python3
def find_max_element_1(arr):     # Solution 1: Using built-in max() function     return max(arr)  def find_max_element_2(arr):     # Solution 2: Using a loop to find max element     max_element = arr[0]     for num in arr:         if num > max_element:             max_element = num     return max_element 

7. Practice Time Management

Practice time management skills because programming competitions have time restrictions. Set time constraints for each challenge and concentrate on enhancing your accuracy and speed.

Examples:

1. Binary Search Algorithm in Python:

To find the element present in a list or not with O(logN) time complexity.  It efficiently divides the search space in half at each step and divides down the search until the element is found or the search range is finished.

Python3
# Iterative Binary Search Function # It returns index of x in given array arr if present, # else returns -1 def binary_search(arr, x):     low = 0     high = len(arr) - 1     mid = 0      while low <= high:          mid = (high + low) // 2          # If x is greater, ignore left half         if arr[mid] < x:             low = mid + 1          # If x is smaller, ignore right half         elif arr[mid] > x:             high = mid - 1          # means x is present at mid         else:             return mid      # If we reach here, then the element was not present     return -1   # Test array arr = [ 2, 3, 4, 10, 40 ] x = 10  # Function call result = binary_search(arr, x)  if result != -1:     print("Element is present at index", str(result)) else:     print("Element is not present in array")  # This code is contributed by Nikhil Garg(https://www.instagram.com/nikhilgarg471/)     

Output
Element is present at index 3 

Time Complexity: O(log N)
Auxiliary Space: O(1)

2. Solving the Knapsack Problem:

Returns the maximum value that can be put in a knapsack of capacity W. It evaluates the weight and value of each item and recursively finds two possibilities: include the current item or exclude it. The function returns the maximum value that can be put by selecting a subset of items within the weight capacity of the knapsack.

Python
# Python code for knapsack problem  def knapSack(W, wt, val, n):      if n == 0 or W == 0 :         return 0      # If weight of the nth item is more than Knapsack of capacity     # W, then this item cannot be included in the optimal solution     if (wt[n-1] > W):         return knapSack(W, wt, val, n-1)      # return the maximum of two cases:     # (1) nth item included     # (2) not included     else:         return max(val[n-1] + knapSack(W-wt[n-1], wt, val, n-1),                 knapSack(W, wt, val, n-1))  # Driver code val = [60, 100, 120] wt = [10, 20, 30] W = 50 n = len(val) print knapSack(W, wt, val, n)  # This code is contributed by Nikhil Garg(https://www.instagram.com/nikhilgarg471/) 

Output
220 

Time Complexity: O(2N)
Auxiliary Space: O(N), Space used for auxiliary stack space in recursion calls

3. DFS algorithm for graph traversal:

For graph traversal of a directed graph. It visits each vertex of the graph and visits its adjacent vertices recursively until all vertices are visited. The DFS traversal order is printed as the output.

Python
# Python program to print DFS traversal for complete graph from collections import defaultdict  # This class represents a directed graph using adjacency # list representation class Graph:      # Constructor     def __init__(self):          # default dictionary to store graph         self.graph = defaultdict(list)      # function to add an edge to graph     def addEdge(self,u,v):         self.graph[u].append(v)      # A function used by DFS     def DFSUtil(self, v, visited):          # Mark the current node as visited and print it         visited[v]= True         print v,          # Recur for all the vertices adjacent to         # this vertex         for i in self.graph[v]:             if visited[i] == False:                 self.DFSUtil(i, visited)       # The function to do DFS traversal. It uses     # recursive DFSUtil()     def DFS(self):         V = len(self.graph) #total vertices          # Mark all the vertices as not visited         visited =[False]*(V)          # Call the recursive helper function to print         # DFS traversal starting from all vertices one         # by one         for i in range(V):             if visited[i] == False:                 self.DFSUtil(i, visited)   # Driver code  g = Graph() g.addEdge(0, 1) g.addEdge(0, 2) g.addEdge(1, 2) g.addEdge(2, 0) g.addEdge(2, 3) g.addEdge(3, 3)  print "Following is Depth First Traversal" g.DFS()  # This code is contributed by Nikhil Garg(https://www.instagram.com/nikhilgarg471/) 

Output
Following is Depth First Traversal 0 1 2 3 

Time Complexity: O(V+E), where V is the number of vertices and E is the number of edges
Auxiliary Space: O(V)

4. Longest Increasing Subsequence problem using Dynamic Programming:

It calculates the length of the longest increasing subsequence in a given array using a bottom-up approach, where each LIS value is updated by considering all previous elements.

Python
# Dynamic programming Python implementation of LIS problem  # lis returns length of the longest increasing subsequence # in arr of size n def lis(arr):     n = len(arr)      # Declare the list (array) for LIS and initialize LIS     # values for all indexes     lis = [1]*n      # Compute optimized LIS values in bottom up manner     for i in range (1, n):         for j in range(0, i):             if arr[i] > arr[j] and lis[i]< lis[j] + 1 :                 lis[i] = lis[j]+1      # Initialize maximum to 0 to get the maximum of all     # LIS     maximum = 0      # Pick maximum of all LIS values     for i in range(n):         maximum = max(maximum, lis[i])      return maximum # end of lis function  # Driver program to test above function arr = [10, 22, 9, 33, 21, 50, 41, 60] print "Length of list is", lis(arr)  # This code is contributed by Nikhil Garg(https://www.instagram.com/nikhilgarg471/) 

Output
Length of list is 5 

Time Complexity: O(N2)
Auxiliary space: O(N)

5. Trie data structure:

Here is the implementation of a Trie data structure for efficient insertion and search operations. It creates a Trie, inserts keys into it, and performs searches to check the presence of keys in the Trie.

Python3
# Python program for insert and search # operation in a Trie  class TrieNode:          # Trie node class     def __init__(self):         self.children = [None]*26          # isEndOfWord is True if node represent the end of the word         self.isEndOfWord = False  class Trie:          # Trie data structure class     def __init__(self):         self.root = self.getNode()      def getNode(self):              # Returns new trie node (initialized to NULLs)         return TrieNode()      def _charToIndex(self,ch):                  # private helper function         # Converts key current character into index         # use only 'a' through 'z' and lower case                  return ord(ch)-ord('a')       def insert(self,key):                  # If not present, inserts key into trie         # If the key is prefix of trie node,         # just marks leaf node         pCrawl = self.root         length = len(key)         for level in range(length):             index = self._charToIndex(key[level])              # if current character is not present             if not pCrawl.children[index]:                 pCrawl.children[index] = self.getNode()             pCrawl = pCrawl.children[index]          # mark last node as leaf         pCrawl.isEndOfWord = True      def search(self, key):                  # Search key in the trie         # Returns true if key presents         # in trie, else false         pCrawl = self.root         length = len(key)         for level in range(length):             index = self._charToIndex(key[level])             if not pCrawl.children[index]:                 return False             pCrawl = pCrawl.children[index]          return pCrawl.isEndOfWord  # Driver function def main():      # Input keys (use only 'a' through 'z' and lower case)     keys = ["the","a","there","anaswe","any",             "by","their"]     output = ["Not present in trie",             "Present in trie"]      # Trie object     t = Trie()      # Construct trie     for key in keys:         t.insert(key)      # Search for different keys     print("{} ---- {}".format("the",output[t.search("the")]))     print("{} ---- {}".format("these",output[t.search("these")]))     print("{} ---- {}".format("their",output[t.search("their")]))     print("{} ---- {}".format("thaw",output[t.search("thaw")]))  if __name__ == '__main__':     main()  # This code is contributed by Nikhil Garg(https://www.instagram.com/nikhilgarg471/) 

Output
the ---- Present in trie these ---- Not present in trie their ---- Present in trie thaw ---- Not present in trie 

Time Complexity: O(N)
Auxiliary Space: O(N)

Tips for improving in Competitive Programming:

  • Practice regularly and consistently.
  • Focus on problem-solving, not just coding.
  • Use built-in functions and libraries to save time.
  • Write clean, readable, and efficient code

Pros of Using Python for CP:

  • Python's clear syntax and simple-to-follow code make it the perfect language for competitive programming, allowing for speedy implementation and troubleshooting.
  • Python has a sizable standard library that offers ready-to-use modules and functions, reducing the time and effort required to implement common tasks.
  • Python has built-in data structures like dictionaries, lists, and sets that make it easier to manipulate and store data effectively while solving problems.
  • Python's interpreted nature enables speedy experimentation and prototyping, facilitating quicker algorithm development iterations.

Cons of Using Python for CP:

  • Python's interpreted nature can make it slower to execute than lower-level languages like C++ or Java. This could have an impact on performance in time-sensitive competitive programming scenarios.
  • Python's automatic memory management can result in greater memory use as compared to languages with human memory control, which can be problematic for issues requiring a lot of memory.

Conclusion:

By learning Python and practicing algorithmic problem-solving techniques, programmers can know the power of Python for competitive programming and enhance their coding skills.


Next Article
Why is python best suited for Competitive Coding?

N

nikhilgarg527
Improve
Article Tags :
  • Python
  • Competitive Programming
  • DSA
Practice Tags :
  • python

Similar Reads

  • Competitive Programming - A Complete Guide
    Competitive Programming is a mental sport that enables you to code a given problem under provided constraints. The purpose of this article is to guide every individual possessing a desire to excel in this sport. This article provides a detailed syllabus for Competitive Programming designed by indust
    8 min read
  • Competitive Programming (CP) Handbook with Complete Roadmap
    Welcome to the Competitive Programming Handbook or CP Handbook by GeeksforGeeks! This Competitive Programming Handbook is a go-to resource for individuals aiming to enhance their problem-solving skills and excel in coding competitions. This CP handbook provides a comprehensive guide, covering fundam
    12 min read
  • Mathematics for Competitive Programming

    • Must do Math for Competitive Programming
      Competitive Programming (CP) doesn’t typically require one to know high-level calculus or some rocket science. But there are some concepts and tricks which are sufficient most of the time. You can definitely start competitive coding without any mathematical background, but maths becomes essential as
      15+ min read

    • Pigeonhole Principle for CP | Identification, Approach & Problems
      In competitive programming, where people solve tough problems with computer code, the Pigeonhole Principle is like a secret tool. Even though it's a simple idea, it helps programmers tackle complex challenges. This article is your guide to understanding how this principle works and why it's crucial
      8 min read

    • Euler Totient for Competitive Programming
      What is Euler Totient function(ETF)?Euler Totient Function or Phi-function for 'n', gives the count of integers in range '1' to 'n' that are co-prime to 'n'. It is denoted by [Tex]\phi(n) [/Tex].For example the below table shows the ETF value of first 15 positive integers: 3 Important Properties of
      8 min read

    • Mathematics for Competitive Programming Course By GeeksforGeeks
      Mathematics forms the foundation of problem-solving in Competitive Programming (CP). Mastering key mathematical concepts is crucial for approaching algorithmic challenges effectively. If you're an aspiring competitive programmer or someone who wishes to enhance your problem-solving skills, this Math
      3 min read

    Number Theory for CP

    • Binary Exponentiation for Competitive Programming
      In competitive programming, we often need to do a lot of big number calculations fast. Binary exponentiation is like a super shortcut for doing powers and can make programs faster. This article will show you how to use this powerful trick to enhance your coding skills. Table of ContentWhat is Binary
      15+ min read

    • GCD (Greatest Common Divisor) Practice Problems for Competitive Programming
      GCD (Greatest Common Divisor) or HCF (Highest Common Factor) of two numbers is the largest positive integer that divides both of the numbers. Fastest Way to Compute GCDThe fastest way to find the Greatest Common Divisor (GCD) of two numbers is by using the Euclidean algorithm. The Euclidean algorith
      4 min read

    Bit Manipulation for CP

    • Bit Manipulation for Competitive Programming
      Bit manipulation is a technique in competitive programming that involves the manipulation of individual bits in binary representations of numbers. It is a valuable technique in competitive programming because it allows you to solve problems efficiently, often reducing time complexity and memory usag
      15+ min read

    • Bit Tricks for Competitive Programming
      In competitive programming or in general, some problems seem difficult but can be solved very easily with little concepts of bit magic. We have discussed some tricks below in the previous post.Bitwise Hacks for Competitive Programming One-Liner Hacks of Bit Manipulation:One-Liner CodeFunctionx&1
      7 min read

    • Bitwise Hacks for Competitive Programming
      Prerequisite: It is recommended to refer Interesting facts about Bitwise Operators How to set a bit in the number 'num': If we want to set a bit at nth position in the number 'num', it can be done using the 'OR' operator( | ). First, we left shift '1' to n position via (1<<n)Then, use the 'OR'
      14 min read

    Combinatorics for CP

    • Inclusion Exclusion principle for Competitive Programming
      What is the Inclusion-Exclusion Principle?The inclusion-exclusion principle is a combinatoric way of computing the size of multiple intersecting sets or the probability of complex overlapping events. Generalised Inclusion-Exclusion over Set:For 2 Intersecting Set A and B: [Tex]A\bigcup B= A + B - A\
      5 min read

    Greedy for CP

    • Binary Search on Answer Tutorial with Problems
      Binary Search on Answer is the algorithm in which we are finding our answer with the help of some particular conditions. We have given a search space in which we take an element [mid] and check its validity as our answer, if it satisfies our given condition in the problem then we store its value and
      15+ min read

    • Ternary Search for Competitive Programming
      Ternary search is a powerful algorithmic technique that plays a crucial role in competitive programming. This article explores the fundamentals of ternary search, idea behind ternary search with its use cases that will help solving complex optimization problems efficiently. Table of Content What is
      8 min read

    Array based concepts for CP

    • What are Online and Offline query-based questions in Competitive Programming
      The query-based questions of competitive programming are mainly of two types: Offline Query.Online Query. Offline Query An offline algorithm allows us to manipulate the data to be queried before any answer is printed. This is usually only possible when the queries do not update the original element
      4 min read

    • Precomputation Techniques for Competitive Programming
      What is the Pre-Computation Technique?Precomputation refers to the process of pre-calculating and storing the results of certain computations or data structures in advance, in order to speed up the execution time of a program. This can be useful in situations where the same calculations or data stru
      15+ min read

    • PreComputation Technique on Arrays
      Precomputation refers to the process of pre-calculating and storing the results of certain computations or data structures(array in this case) in advance, in order to speed up the execution time of a program. This can be useful in situations where the same calculations are needed multiple times, as
      15 min read

    • Frequency Measuring Techniques for Competitive Programming
      Measuring the frequency of elements in an array is a really handy skill and is required a lot of competitive coding problems. We, in a lot of problems, are required to measure the frequency of various elements like numbers, alphabets, symbols, etc. as a part of our problem. Examples: Input: arr[] =
      15+ min read

    Dynamic Programming (DP) for CP

    • DP on Trees for Competitive Programming
      Dynamic Programming (DP) on trees is a powerful algorithmic technique commonly used in competitive programming. It involves solving various tree-related problems by efficiently calculating and storing intermediate results to optimize time complexity. By using the tree structure, DP on trees allows p
      15+ min read

    • Dynamic Programming in Game Theory for Competitive Programming
      In the fast-paced world of competitive programming, mastering dynamic programming in game theory is the key to solving complex strategic challenges. This article explores how dynamic programming in game theory can enhance your problem-solving skills and strategic insights, giving you a competitive e
      15+ min read

    Game Theory for CP

    • Interactive Problems in Competitive Programming
      Interactive Problems are those problems in which our solution or code interacts with the judge in real time. When we develop a solution for an Interactive Problem then the input data given to our solution may not be predetermined but is built for that problem specifically. The solution performs a se
      6 min read

    • Mastering Bracket Problems for Competitive Programming
      Bracket problems in programming typically refer to problems that involve working with parentheses, and/or braces in expressions or sequences. It typically refers to problems related to the correct and balanced usage of parentheses, and braces in expressions or code. These problems often involve chec
      4 min read

    • MEX (Minimum Excluded) in Competitive Programming
      MEX of a sequence or an array is the smallest non-negative integer that is not present in the sequence. Note: The MEX of an array of size N cannot be greater than N since the MEX of an array is the smallest non-negative integer not present in the array and array having size N can only cover integers
      15+ 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