Skip to the content.

Must Do Coding Questions in Java

Array | S.No | Question Link | Solution | Difficulty | | ---------- | ----- | ------------ | ---------: | | 1 | [Subarray with given sum](https://practice.geeksforgeeks.org/problems/subarray-with-given-sum/0) | [Subarray with given sum](/Must-Do-Coding-Questions-for-Companies/Array/Subarray_with_given_sum.java) | **Easy** | | 2 | [Kadane's Algorithm](https://practice.geeksforgeeks.org/problems/kadanes-algorithm-1587115620/1) | [Kadane's Algorithm](/Must-Do-Coding-Questions-for-Companies/Array/Kadane's_Algorithm.java) | **Medium** | | 3 | [Missing number in array](https://practice.geeksforgeeks.org/problems/missing-number-in-array1416/1) | [Missing number in array](/Must-Do-Coding-Questions-for-Companies/Array/Missing_number_in_array.java) | **Easy** | | 4 | [Merge Without Extra Space](https://practice.geeksforgeeks.org/problems/merge-two-sorted-arrays-1587115620/1) | [Merge Without Extra Space](/Must-Do-Coding-Questions-for-Companies/Array/Merge_Without_Extra_Space.java) | **Hard** | | 5 | [Rearrange Array Alternately](https://practice.geeksforgeeks.org/problems/-rearrange-array-alternately/0/) | [Rearrange Array Alternately](/Must-Do-Coding-Questions-for-Companies/Array/Rearrange_Array_Alternately.java) | **Medium** | | 6 | [Largest Number formed from an Array ](https://practice.geeksforgeeks.org/problems/largest-number-formed-from-an-array1117/1) | [Largest Number formed from an Array ](/Must-Do-Coding-Questions-for-Companies/Array/Largest_Number_formed_from_an_Array.java) | **Medium** | | 7 | [Spirally traversing a matrix](https://practice.geeksforgeeks.org/problems/spirally-traversing-a-matrix/0) | [Spirally traversing a matrix](/Must-Do-Coding-Questions-for-Companies/Array/Spirally_traversing_a_matrix.java) | **Easy** | | 8 | [Convert array into Zig-Zag fashion](https://practice.geeksforgeeks.org/problems/convert-array-into-zig-zag-fashion1638/1) | [Convert array into Zig-Zag fashion](/Must-Do-Coding-Questions-for-Companies/Array/Convert_array_into_Zig-Zag_fashion.java) | **Easy** | | 9 | [Trapping Rain Water](https://practice.geeksforgeeks.org/problems/trapping-rain-water/0) | [Trapping Rain Water](/Must-Do-Coding-Questions-for-Companies/Array/Trapping_Rain_Water.java) | **Medium** | | 10 | [Kth smallest element](https://practice.geeksforgeeks.org/problems/kth-smallest-element/0) | [Kth smallest element](/Must-Do-Coding-Questions-for-Companies/Array/Kth_smallest_element.java) | **Medium** | | 11 | [Reverse array in groups](https://practice.geeksforgeeks.org/problems/reverse-array-in-groups/0) | [Reverse array in groups](/Must-Do-Coding-Questions-for-Companies/Array/Reverse_array_in_groups.java) | **Basic** | | 12 | [Minimum Platforms](https://practice.geeksforgeeks.org/problems/minimum-platforms/0) | [Minimum Platforms](/Must-Do-Coding-Questions-for-Companies/Array/Minimum_Platforms.java) | **Medium** | | 13 | [Leaders in an array](https://practice.geeksforgeeks.org/problems/leaders-in-an-array-1587115620/1) | [Leaders in an array](/Must-Do-Coding-Questions-for-Companies/Array/Leaders_in_an_array.java) | **Easy** | | 14 | [Equilibrium Point](https://practice.geeksforgeeks.org/problems/equilibrium-point-1587115620/1) | [Equilibrium Point](/Must-Do-Coding-Questions-for-Companies/Array/Equilibrium_Point.java) | **Easy** | | 15 | [Reverse Array](https://practice.geeksforgeeks.org/problems/reverse-a-string/1) | [Reverse array](/Must-Do-Coding-Questions-for-Companies/Array/Reverse_array.java) | **Easy** | | 16 | [Sort 0 1 2](https://practice.geeksforgeeks.org/problems/sort-an-array-of-0s-1s-and-2s4231/1) | [Sort 0 1 2](/Must-Do-Coding-Questions-for-Companies/Array/Sort_012.java) | **Easy** | | 17 | [Remove Duplicates from Sorted Array](https://leetcode.com/problems/remove-duplicates-from-sorted-array/) | [Remove Duplicates from Sorted Array](/Must-Do-Coding-Questions-for-Companies/Array/Remove_Duplicates_from_Sorted_Array.java) | **Easy** | | 18 | [Rotate Array](https://leetcode.com/explore/featured/card/top-interview-questions-easy/92/array/646/) | [Rotate Array](/Must-Do-Coding-Questions-for-Companies/Array/Rotate_Array.java) | **Easy** | | 19 | [Maximum of all subarrays of size k](https://practice.geeksforgeeks.org/problems/maximum-of-all-subarrays-of-size-k3101/1) | [Maximum of all subarrays of size k](/Must-Do-Coding-Questions-for-Companies/Array/Maximum_of_all_subarrays_of_size_k.java) | **Medium** | | 20 | [Single Number](https://leetcode.com/explore/interview/card/top-interview-questions-easy/92/array/549/) | [Single Number](/Must-Do-Coding-Questions-for-Companies/Array/Single_Number.java) | **Easy** | | 21 | [Intersection of Two Arrays II](https://leetcode.com/explore/interview/card/top-interview-questions-easy/92/array/674/) | [Intersection of Two Arrays II](/Must-Do-Coding-Questions-for-Companies/Array/Intersection_of_Two_Arrays_II.java) | **Easy** | | 22 | [Count Triplets](https://practice.geeksforgeeks.org/problems/87f12e5c728d69a5322634776b54c75897d14daa/1) | [Count Triplets](/Must-Do-Coding-Questions-for-Companies/Array/Count_Triplets.java) | **Medium** | | 23 | [Help Classmates](https://practice.geeksforgeeks.org/problems/fab3dbbdce746976ba35c7b9b24afde40eae5a04/1) | [Help Classmates](/Must-Do-Coding-Questions-for-Companies/Array/Help_Classmates.java) | **Medium** | | 24 | [Maximum Product Subarray ](https://practice.geeksforgeeks.org/problems/maximum-product-subarray3604/1) | [Maximum Product Subarray ](/Must-Do-Coding-Questions-for-Companies/Array/Maximum_Product_Subarray.java) | **Medium** | | 25 | [Reshape the Matrix](https://leetcode.com/problems/reshape-the-matrix/) | [Reshape the Matrix](/Must-Do-Coding-Questions-for-Companies/Array/Reshape_the_Matrix.java) | **Easy** | | 26 | [Valid Sudoku](https://leetcode.com/problems/valid-sudoku/) | [Valid Sudoku](/Must-Do-Coding-Questions-for-Companies/Array/Valid_Sudoku.java) | **Easy** | | 27 | [Subarrays with equal 1s and 0s](https://practice.geeksforgeeks.org/problems/count-subarrays-with-equal-number-of-1s-and-0s-1587115620/1) | [Subarrays with equal 1s and 0s](/Must-Do-Coding-Questions-for-Companies/Array/Subarrays_with_equal_1s_and_0s.java) | **Medium** | | 28 | [First non-repeating character in a stream](https://practice.geeksforgeeks.org/problems/first-non-repeating-character-in-a-stream1216/1#) | [First non-repeating character in a stream](./Array/First_non-repeating_character_in_a_stream.java) | **Easy** | | 29 | [First negative integer in every window of size k](https://practice.geeksforgeeks.org/problems/first-negative-integer-in-every-window-of-size-k3345/1) | [First negative integer in every window of size k](/Must-Do-Coding-Questions-for-Companies/Array/First_negative_integer_in_every_window_of_size_k.java) | **Easy** | | 29 | [Valid Substring](https://practice.geeksforgeeks.org/problems/valid-substring0624/1) | [Valid Substring](/Must-Do-Coding-Questions-for-Companies/Array/Valid_Substring.java) | **Easy** | | 30 | [The Celebrity Problem](https://practice.geeksforgeeks.org/problems/the-celebrity-problem/1/) | [The Celebrity Problem](/Must-Do-Coding-Questions-for-Companies/Array/The_Celebrity_Problem.java) | **Medium** | | 31 | [Median of Two Sorted Arrays](https://leetcode.com/problems/median-of-two-sorted-arrays/) | [Median of Two Sorted Arrays](/Must-Do-Coding-Questions-for-Companies/Array/Median_of_Two_Sorted_Arrays.java) | **Medium** | | 32 | [Maximum Rectangular Area in a Histogram](https://practice.geeksforgeeks.org/problems/maximum-rectangular-area-in-a-histogram-1587115620/1) | [Maximum Rectangular Area in a Histogram](/Must-Do-Coding-Questions-for-Companies/Array/Maximum_Rectangular_Area_in_a_Histogram.java) | **Medium** | | 33 | [Count pairs in array divisible by K](https://practice.geeksforgeeks.org/problems/count-pairs-in-array-divisible-by-k/1/) | [Count pairs in array divisible by K](/Must-Do-Coding-Questions-for-Companies/Array/Count_pairs_in_array_divisible_by_K.java) | **Medium** |

Searching Algo | S.No | Question Link | Solution | Difficulty | | ---------- | ----- | ------------ | ---------: | | 1 | [Linear Search](https://practice.geeksforgeeks.org/problems/searching-a-number0324/1) | [Linear Search](/Must-Do-Coding-Questions-for-Companies/Searching/Linear_Search.java) | **Basic** | | 2 | [Binary Search](https://practice.geeksforgeeks.org/problems/who-will-win/0#) | [Binary Search](./Searching/Binary_Search.java) | **Basic** | | 3 | [First Bad Version](https://leetcode.com/problems/first-bad-version/) | [First Bad Version](./Searching/Bad_Version.java) | **Easy** | | 4 | [Search Insert Position](https://leetcode.com/problems/search-insert-position/) | [Search Insert Position](/Must-Do-Coding-Questions-for-Companies/Searching/Search_Insert_Position.java) | **Easy** | | 5 | [Search in Rotated Sorted Array](https://leetcode.com/problems/search-in-rotated-sorted-array/) | [Search in Rotated Sorted Array](/Must-Do-Coding-Questions-for-Companies/Searching/Search_in_Rotated_Sorted_Array.java) | **Medium** | | 6 | [Find Missing And Repeating](https://practice.geeksforgeeks.org/problems/find-missing-and-repeating2512/1#) | [Find Missing And Repeating](./Searching/Find_Missing_And_Repeating.java) | **Medium** | | 7 | [Majority Element](https://practice.geeksforgeeks.org/problems/majority-element-1587115620/1) | [Majority Element](/Must-Do-Coding-Questions-for-Companies/Searching/Majority_Element.java) | **Medium** | | 8 | [Searching in an array where adjacent differ by at most k](https://practice.geeksforgeeks.org/problems/searching-in-an-array-where-adjacent-differ-by-at-most-k0456/1/#) | [Searching in an array where adjacent differ by at most k](./Searching/Searching_in_an_array_where_adjacent_differ_by_at_most_k.java) | **Medium** | | 9 | [Find Pair Given Difference](https://practice.geeksforgeeks.org/problems/find-pair-given-difference1559/1#) | [Find Pair Given Difference](./Searching/Find_Pair_Given_Difference.java) | **Easy** | | 10 | [Zero Sum Subarrays](https://practice.geeksforgeeks.org/problems/zero-sum-subarrays1825/1) | [Zero Sum Subarrays](/Must-Do-Coding-Questions-for-Companies/Searching/Zero_Sum_Subarrays.java) | **Medium** |

Sorting Algo | S.No | Question Link | Solution | Difficulty | | ---------- | ----- | ------------ | ---------: | | 1 | [Bubble Sort](https://practice.geeksforgeeks.org/problems/bubble-sort/1) | [Bubble Sort](/Must-Do-Coding-Questions-for-Companies/Sorting/Bubble_Sort.java) | **Basic** | | 2 | [Selection Sort](https://practice.geeksforgeeks.org/problems/selection-sort/1) | [Selection Sort](/Must-Do-Coding-Questions-for-Companies/Sorting/Selection_Sort.java) | **Basic** | | 3 | [Insertion Sort](https://practice.geeksforgeeks.org/problems/insertion-sort/1) | [Insertion Sort](/Must-Do-Coding-Questions-for-Companies/Sorting/Insertion_Sort.java) | **Easy** | | 4 | [Merge Sort](https://practice.geeksforgeeks.org/problems/merge-sort/1) | [Merge Sort](./Sorting/Merge_Sort.java/String) | **Easy** |

Martix | S.No | Question Link | Solution | Difficulty | | ---------- | ----- | ------------ | ---------: | | 1 | [Spirally traversing a matrix](https://practice.geeksforgeeks.org/problems/spirally-traversing-a-matrix-1587115621/1) | [Spirally traversing a matrix](/Must-Do-Coding-Questions-for-Companies/Matrix/Spirally_traversing_a_matrix.java) | **Medium** | | 2 | [Search a 2D Matrix](https://leetcode.com/problems/search-a-2d-matrix/) | [Search a 2D Matrix](/Must-Do-Coding-Questions-for-Companies/Matrix/Search_a_2D_Matrix.java) | **Medium** | | 3 | [Row with max 1s](https://practice.geeksforgeeks.org/problems/row-with-max-1s0023/1) | [Row with max 1s](/Must-Do-Coding-Questions-for-Companies/Matrix/Row_with_max_1s.java) | **Medium** | | 4 | [Sorted matrix](https://practice.geeksforgeeks.org/problems/sorted-matrix2333/1) | [Sorted matrix](/Must-Do-Coding-Questions-for-Companies/Matrix/Sorted_matrix.java) | **Basic** | | 5 | [Maximal Square](https://leetcode.com/problems/maximal-square/) | [Maximal Square](/Must-Do-Coding-Questions-for-Companies/Matrix/Maximal_Square.java) | **Medium** | | 6 | [Rotate Image](https://leetcode.com/problems/rotate-image/) | [Rotate Image](/Must-Do-Coding-Questions-for-Companies/Matrix/Rotate_Image.java) | **Medium** | | 7 | [Common Elements Present In All Rows Of Matrix](https://www.codingninjas.com/codestudio/problems/common-elements-present-in-all-rows-of-a-matrix_1118111?) | [Common Elements Present In All Rows Of Matrix](./Matrix/Common_Elements_Present_In_All_Rows_Of_Matrix.java) | **Medium** | | 8 | [Solve the Sudoku](https://practice.geeksforgeeks.org/problems/solve-the-sudoku-1587115621/1) | [Solve the Sudoku](/Must-Do-Coding-Questions-for-Companies/Matrix/Solve_the_Sudoku.java) | **Medium** |

String | S.No | Question Link | Solution | Difficulty | | ---------- | ----- | ------------ | ---------: | | 1 | [Longest Common Prefix in an Array](https://practice.geeksforgeeks.org/problems/longest-common-prefix-in-an-array/0) | [Longest Common Prefix in an Array](/Must-Do-Coding-Questions-for-Companies/String/Longest_Common_Prefix_in_an_Array.java) | **Medium** | | 2 | [Reverse words in a given string](https://practice.geeksforgeeks.org/problems/reverse-words-in-a-given-string/0) | [Reverse words in a given string](/Must-Do-Coding-Questions-for-Companies/String/Reverse_words_in_a_given_string.java) | **Easy** | | 3 | [Permutations of a given string](https://practice.geeksforgeeks.org/problems/permutations-of-a-given-string/0) | [Permutations of a given string](/Must-Do-Coding-Questions-for-Companies/String/Permutations_of_a_given_string.java) | **Basic** | | 4 | [Longest Palindrome in a String](https://practice.geeksforgeeks.org/problems/longest-palindrome-in-a-string/0#) | [Longest Palindrome in a String](./String/Longest_Palindrome_in_a_String.java) | **Medium** | | 5 | [Roman Number to Integer](https://practice.geeksforgeeks.org/problems/roman-number-to-integer/0) | [Roman Number to Integer](/Must-Do-Coding-Questions-for-Companies/String/Roman_Number_to_Integer.java) | **Easy** | | 6 | [Convert to Roman No ](https://practice.geeksforgeeks.org/problems/convert-to-roman-no/1) | [Convert to Roman No r](/Must-Do-Coding-Questions-for-Companies/String/Convert_to_Roman_No.java) | **Easy** | | 7 | [Anagram](https://practice.geesforgeeks.org/problems/anagram-1587115620/1) | [Anagram](/Must-Do-Coding-Questions-for-Companies/String/Anagram.java) | **Easy** | | 8 | [Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/) | [Longest Substring Without Repeating Characters](/Must-Do-Coding-Questions-for-Companies/String/Longest_Substring_Without_Repeating_Characters.java) | **Medium** | | 9 | [First Unique Character in a String](https://leetcode.com/problems/first-unique-character-in-a-string/) | [First Unique Character in a String](./String/First_Unique_Character_in_a_String.java) | **Medium** | | 10 | [Search Pattern](https://practice.geeksforgeeks.org/problems/8dcd25918295847b4ced54055eae35a8501181c1/1) | [Search Pattern](/Must-Do-Coding-Questions-for-Companies/String/Search_Pattern.java) | **Medium** |

LinkedList | S.No | Question Link | Solution | Difficulty | | ---------- | ----- | ------------ | ---------: | | 1 | [Finding middle element in a linked list ](https://practice.geeksforgeeks.org/problems/finding-middle-element-in-a-linked-list/1) | [Finding middle element in a linked list ](/Must-Do-Coding-Questions-for-Companies/LinkedList/Finding_middle_element_in_a_linked_list.java) | **Basic** | | 2 | [Reverse a linked list](https://practice.geeksforgeeks.org/problems/reverse-a-linked-list/1) | [Reverse a linked list](/Must-Do-Coding-Questions-for-Companies/LinkedList/Reverse_a_linked_list.java) | **Easy** | | 3 | [Rotate a Linked List](https://practice.geeksforgeeks.org/problems/rotate-a-linked-list/1) | [Rotate a Linked List](/Must-Do-Coding-Questions-for-Companies/LinkedList/Rotate_a_Linked_List.java) | **Easy** | | 4 | [Reverse a Linked List in groups of given size](https://practice.geeksforgeeks.org/problems/reverse-a-linked-list-in-groups-of-given-size/1) | [Reverse a Linked List in groups of given size](.//LinkedListReverse_a_Linked_List_in_groups_of_given_size.java) | **Medium** | | 5 | [Intersection Point in Y Shapped Linked Lists](https://practice.geeksforgeeks.org/problems/intersection-point-in-y-shapped-linked-lists/1/) | [Intersection Point in Y Shapped Linked Lists](.//LinkedListIntersection_Point_in_Y_Shapped_Linked_Lists.java) | **Medium** | | 6 | [Detect Loop in linked list](https://practice.geeksforgeeks.org/problems/detect-loop-in-linked-list/1) | [Detect Loop in linked list](/Must-Do-Coding-Questions-for-Companies/LinkedList/Detect_Loop_in_linked_list.java) | **Easy** | | 7 | [Nth node from end of linked list](https://practice.geeksforgeeks.org/problems/nth-node-from-end-of-linked-list/1) | [Nth node from end of linked list](/Must-Do-Coding-Questions-for-Companies/LinkedList/Nth_node_from_end_of_linked_list.java) | **Easy** | | 8 | [Merge two sorted linked lists](https://practice.geeksforgeeks.org/problems/merge-two-sorted-linked-lists/1) | [Merge two sorted linked lists](/Must-Do-Coding-Questions-for-Companies/LinkedList/Merge_two_sorted_linked_lists.java) | **Easy** | | 9 | [Add two numbers represented by linked lists](https://practice.geeksforgeeks.org/problems/add-two-numbers-represented-by-linked-lists/1) | [Add two numbers represented by linked lists](.//LinkedListAdd_two_numbers_represented_by_linked_lists.java) | **Easy** | | 10 | [Check if Linked List is Palindrome](https://practice.geeksforgeeks.org/problems/check-if-linked-list-is-pallindrome/1) | [Check if Linked List is Palindrome](/Must-Do-Coding-Questions-for-Companies/LinkedList/Check_if_Linked_List_is_Palindrome.java) | **Easy** | | 11 | [Flattening a Linked List](https://practice.geeksforgeeks.org/problems/flattening-a-linked-list/1) | [Flattening a Linked List](/Must-Do-Coding-Questions-for-Companies/LinkedList/Flattening_a_Linked_List.java) | **Medium** | | 12 | [Given a linked list of 0s, 1s and 2s, sort it](https://practice.geeksforgeeks.org/problems/given-a-linked-list-of-0s-1s-and-2s-sort-it/1) | [Given a linked list of 0s, 1s and 2s, sort it](.//LinkedListGiven_a_linked_list_of_0_1_and_2_sort_it.java) | **Easy** | | 13 | [Remove duplicate](https://practice.geeksforgeeks.org/problems/remove-duplicate-element-from-sorted-linked-list/1) | [Remove duplicate](/Must-Do-Coding-Questions-for-Companies/LinkedList/Remove_duplicate.java) | **Easy** | | 14 | [Find length of Loop](https://practice.geeksforgeeks.org/problems/find-length-of-loop/1) | [Find length of Loop](/Must-Do-Coding-Questions-for-Companies/LinkedList/Find_length_of_Loop.java) | **Easy** | | 15 | [Remove duplicates from an unsorted linked list](https://practice.geeksforgeeks.org/problems/remove-duplicates-from-an-unsorted-linked-list/1/) | [Remove duplicates from an unsorted linked list](/Must-Do-Coding-Questions-for-Companies/LinkedList/Remove_duplicates_from_an_unsorted.java) | **Easy** | | 16 | [Reverse a Doubly Linked List](https://practice.geeksforgeeks.org/problems/reverse-a-doubly-linked-list/1) | [Reverse a Doubly Linked List](/Must-Do-Coding-Questions-for-Companies/LinkedList/Reverse_a_Doubly_Linked_List.java) | **Easy** | | 17 | [Segregate even and odd nodes in a Link List](https://practice.geeksforgeeks.org/problems/segregate-even-and-odd-nodes-in-a-linked-list5035/1) | [Segregate even and odd nodes in a Link List](/Must-Do-Coding-Questions-for-Companies/LinkedList/Segregate_even_and_odd_nodes.java) | **Easy** | | 18 | [Delete nodes having greater value on right](https://practice.geeksforgeeks.org/problems/delete-nodes-having-greater-value-on-right/1) | [Delete nodes having greater value on right](/Must-Do-Coding-Questions-for-Companies/LinkedList/Delete_nodes_having_greater_value_on_right.java) | **Medium** | | 20 | [Add 1 to a number represented as linked list](https://practice.geeksforgeeks.org/problems/add-1-to-a-number-represented-as-linked-list/1#) | [Add 1 to a number represented as linked list](./LinkedList/Add_1_to_a_number.java) | **Easy** | | 21 | [Merge Sort for Linked List](https://practice.geeksforgeeks.org/problems/sort-a-linked-list/1#) | [Merge Sort for Linked List](./LinkedList/Merge_Sort_for_Linked_List.java) | **Easy** | | 22 | [Quick Sort on Linked List](https://practice.geeksforgeeks.org/problems/quick-sort-on-linked-list/1#) | [Quick Sort on Linked List](./LinkedList/Quick_Sort_on_Linked_List.java) | **Medium** | | 23 | [Middle of the Linked List](https://leetcode.com/problems/middle-of-the-linked-list/) | [Middle of the Linked List](/Must-Do-Coding-Questions-for-Companies/LinkedList/Middle_of_the_Linked_List.java) | **Medium** | | 24 | [Split a Circular Linked List into two halves](https://practice.geeksforgeeks.org/problems/split-a-circular-linked-list-into-two-halves/1) | [Split a Circular Linked List into two halves](/Must-Do-Coding-Questions-for-Companies/LinkedList/Split_a_Circular_Linked_List_into_two_halves.java) | **Medium** | | 25 | [Clone a linked list with next and random pointer](https://practice.geeksforgeeks.org/problems/split-a-circular-linked-list-into-two-halves/1) | [Clone a linked list with next and random pointer](/Must-Do-Coding-Questions-for-Companies/LinkedList/Clone_a_linked_list_with_next_and_random_pointer.java) | **Medium** | | 26 | [Reverse Nodes in k-Group](https://practice.geeksforgeeks.org/problems/split-a-circular-linked-list-into-two-halves/1) | [Reverse Nodes in k-Group](/Must-Do-Coding-Questions-for-Companies/LinkedList/Reverse_Nodes_in_k-Group.java) | **Medium** | | 27 | [Reverse Linked List II](https://leetcode.com/problems/reverse-linked-list-ii/) | [Reverse Linked List II](/Must-Do-Coding-Questions-for-Companies/LinkedList/Reverse_Linked_List_II.java) | **Medium** | | 28 | [Flatten Binary Tree to Linked List](https://leetcode.com/problems/flatten-binary-tree-to-linked-list/) | [Flatten Binary Tree to Linked List](/Must-Do-Coding-Questions-for-Companies/LinkedList/Flatten_Binary_Tree_to_Linked_List.java) | **Medium** | | 29 | [Swapping Nodes in a Linked List](https://leetcode.com/problems/swapping-nodes-in-a-linked-list/) | [Swapping Nodes in a Linked List](/Must-Do-Coding-Questions-for-Companies/LinkedList/Swapping_Nodes_in_a_Linked_List.java) | **Medium** | | 30 | [Merge In Between Linked Lists](https://leetcode.com/problems/merge-in-between-linked-lists/) | [Merge In Between Linked Lists](/Must-Do-Coding-Questions-for-Companies/LinkedList/Merge_In_Between_Linked_Lists.java) | **Medium** | | 31 | [Delete node in Doubly Linked List](https://practice.geeksforgeeks.org/problems/delete-node-in-doubly-linked-list/1) | [Delete node in Doubly Linked List](/Must-Do-Coding-Questions-for-Companies/LinkedList/Delete_node_in_DLL.java) | **Basic** |

Tree | S.No | Question Link | Solution | Difficulty | | ---------- | ----- | ------------ | ---------: | | 1 | [Left View of Binary Tree](https://practice.geeksforgeeks.org/problems/left-view-of-binary-tree/1) | [Left View of Binary Tree](/Must-Do-Coding-Questions-for-Companies/Tree/Left_View_of_Binary_Tree.java) | **Easy** | | 2 | [Count Leaves in Binary Tree](https://practice.geeksforgeeks.org/problems/count-leaves-in-binary-tree/1) | [Count Leaves in Binary Tree](/Must-Do-Coding-Questions-for-Companies/Tree/Count_Leaves_in_Binary_Tree.java) | **Basic** | | 3 | [Diameter of Binary Tree](https://practice.geeksforgeeks.org/problems/diameter-of-binary-tree/1) | [Diameter of Binary Tree](/Must-Do-Coding-Questions-for-Companies/Tree/Diameter_of_Binary_Tree.java) | **Easy** | | 4 | [Height of Binary Tree](https://practice.geeksforgeeks.org/problems/height-of-binary-tree/1) | [Height of Binary Tree](/Must-Do-Coding-Questions-for-Companies/Tree/Height_of_Binary_Tree.java) | **Basic** | | 5 | [Check for Balanced Tree](https://practice.geeksforgeeks.org/problems/check-for-balanced-tree/1) | [Check for Balanced Tree](/Must-Do-Coding-Questions-for-Companies/Tree/Check_for_Balanced_Tree.java) | **Easy** | | 6 | [Symmetric Tree](https://practice.geeksforgeeks.org/problems/symmetric-tree/1) | [Symmetric Tree](/Must-Do-Coding-Questions-for-Companies/Tree/Symmetric_Tree.java) | **Easy** | | 7 | [Identical Tree](https://practice.geeksforgeeks.org/problems/determine-if-two-trees-are-identical/1) | [Identical Tree](/Must-Do-Coding-Questions-for-Companies/Tree/Identical_Tree.java) | **Easy** | | 8 | [Connect Nodes at Same Level](https://practice.geeksforgeeks.org/problems/connect-nodes-at-same-level/1#) | [Connect Nodes at Same Level](./Tree/Connect_Nodes_at_Same_Level.java) | **Medium** | | 9 | [Level order traversal in spiral form](https://practice.geeksforgeeks.org/problems/level-order-traversal-in-spiral-form/1#) | [Level order traversal in spiral form](./Tree/Level_order_traversal_in_spiral_form.java) | **Easy** | | 10 | [Level order traversal](https://practice.geeksforgeeks.org/problems/level-order-traversal/1) | [Level order traversal](/Must-Do-Coding-Questions-for-Companies/Tree/Level_order_traversal.java) | **Easy** | | 11 | [Inorder Traversal](https://practice.geeksforgeeks.org/problems/inorder-traversal/1) | [Inorder Traversal](/Must-Do-Coding-Questions-for-Companies/Tree/Inorder_Traversal.java) | **Easy** | | 12 | [Preorder Traversal](https://practice.geeksforgeeks.org/problems/preorder-traversal/1) | [Preorder Traversal](/Must-Do-Coding-Questions-for-Companies/Tree/Preorder_Traversal.java) | **Easy** | | 13 | [Postorder Traversal](https://practice.geeksforgeeks.org/problems/postorder-traversal/1) | [Postorder Traversal](/Must-Do-Coding-Questions-for-Companies/Tree/Postorder_Traversal.java) | **Easy** | | 14 | [Delete without head pointer](https://practice.geeksforgeeks.org/problems/delete-without-head-pointer/1) | [Delete without head pointer](/Must-Do-Coding-Questions-for-Companies/Tree/Delete_without_head_pointer.java) | **Medium** | | 15 | [Reverse Level Order Traversal](https://practice.geeksforgeeks.org/problems/reverse-level-order-traversal/1#) | [Reverse Level Order Traversal](./Tree/Reverse_Level_Order_Traversal.java) | **Easy** | | 16 | [Invert Binary Tree](https://leetcode.com/problems/invert-binary-tree/) | [Invert Binary Tree](/Must-Do-Coding-Questions-for-Companies/Tree/Invert_Binary_Tree.java) | **Easy** | | 17 | [Right View of Binary Tree](https://practice.geeksforgeeks.org/problems/right-view-of-binary-tree/1#) | [Right View of Binary Tree](./Tree/Right_View_of_Binary_Tree.java) | **Easy** | | 18 | [Top View of Binary Tree](https://practice.geeksforgeeks.org/problems/top-view-of-binary-tree/1#) | [Top View of Binary Tree](./Tree/Top_View_of_Binary_Tree.java) | **Medium** | | 19 | [Bottom View of Binary Tree](https://practice.geeksforgeeks.org/problems/bottom-view-of-binary-tree/1#) | [Bottom View of Binary Tree](./Tree/Bottom_View_of_Binary_Tree.java) | **Medium** | | 20 | [Minimum Depth of Binary Tree](https://leetcode.com/problems/minimum-depth-of-binary-tree/) | [Minimum Depth of Binary Tree](/Must-Do-Coding-Questions-for-Companies/Tree/Minimum_Depth_of_Binary_Tree.java) | **Easy** | | 21 | [ZigZag Tree Traversal](https://practice.geeksforgeeks.org/problems/zigzag-tree-traversal/1) | [ZigZag Tree Traversal](/Must-Do-Coding-Questions-for-Companies/Tree/ZigZag_Tree_Traversal.java) | **Easy** | | 22 | [Diagonal Traversal of Binary Tree](https://practice.geeksforgeeks.org/problems/diagonal-traversal-of-binary-tree/1#) | [Diagonal Traversal of Binary Tree](./Tree/Diagonal_Traversal_of_Binary_Tree.java) | **Medium** | | 23 | [Check if Tree is Isomorphic](https://practice.geeksforgeeks.org/problems/check-if-tree-is-isomorphic/1) | [Check if Tree is Isomorphic](/Must-Do-Coding-Questions-for-Companies/Tree/Check_if_Tree_is_Isomorphic.java) | **Medium** | | 24 | [Lowest Common Ancestor in a Binary Tree](https://practice.geeksforgeeks.org/problems/lowest-common-ancestor-in-a-binary-tree/1) | [Lowest Common Ancestor in a Binary Tree](/Must-Do-Coding-Questions-for-Companies/Tree/Lowest_Common_Ancestor_in_a_Binary_Tree.java) | **Medium** | | 25 | [Binary Tree to DLL](https://practice.geeksforgeeks.org/problems/binary-tree-to-dll/1#) | [Binary Tree to DLL](./Tree/Binary_Tree_to_DLL.java) | **Hard** | | 26 | [Boundary Traversal of binary tree](https://practice.geeksforgeeks.org/problems/boundary-traversal-of-binary-tree/1) | [Boundary Traversal of binary tree](/Must-Do-Coding-Questions-for-Companies/Tree/Boundary_Traversal_of_binary_tree.java) | **Medium** | | 27 | [Construct Tree from Inorder & Preorder](https://practice.geeksforgeeks.org/problems/construct-tree-1/1#) | [Construct Tree from Inorder & Preorder](./Tree/Construct_Tree_from_Inorder_&_Preorder.java) | **Medium** | | 28 | [Sum Tree](https://practice.geeksforgeeks.org/problems/sum-tree/1#) | [Sum Tree](./Tree/Sum_Tree.java) | **Medium** | | 29 | [Duplicate subtree in Binary Tree](https://practice.geeksforgeeks.org/problems/duplicate-subtree-in-binary-tree/1) | [Duplicate subtree in Binary Tree](/Must-Do-Coding-Questions-for-Companies/Tree/Duplicate_subtree_in_Binary_Tree.java) | **Medium** | | 30 | [Duplicate Subtrees](https://practice.geeksforgeeks.org/problems/duplicate-subtrees/1#) | [Duplicate Subtrees](./Tree/Duplicate_Subtrees.java) | **Medium** | | 31 | [Maximum sum of Non-adjacent nodes](https://practice.geeksforgeeks.org/problems/maximum-sum-of-non-adjacent-nodes/1/) | [Maximum sum of Non-adjacent nodes](/Must-Do-Coding-Questions-for-Companies/Tree/Maximum_sum_of_Non-adjacent_nodes.java) | **Medium** | | 32 | [Sum of nodes on the longest path from root to leaf node](https://practice.geeksforgeeks.org/problems/sum-of-the-longest-bloodline-of-a-tree/1) | [Sum of nodes on the longest path from root to leaf node](/Must-Do-Coding-Questions-for-Companies/Tree/Sum_of_nodes_on_the_longest_path_from_root_to_leaf_node.java) | **Easy** | | 33 | [Clone a Binary Tree](https://practice.geeksforgeeks.org/problems/clone-a-binary-tree/1) | [Clone a Binary Tree](/Must-Do-Coding-Questions-for-Companies/Tree/Clone_a_Binary_Tree.java) | **Medium** | | 34 | [K distance from root](https://practice.geeksforgeeks.org/problems/k-distance-from-root/1) | [K distance from root](/Must-Do-Coding-Questions-for-Companies/Tree/K_distance_from_root.java) | **Easy** | | 35 | [Diagonal Sum In Binary Tree](https://practice.geeksforgeeks.org/problems/diagonal-sum-in-binary-tree/1) | [Diagonal Sum In Binary Tree](/Must-Do-Coding-Questions-for-Companies/Tree/Diagonal_Sum_In_Binary_Tree.java) | **Easy** | | 36 | [Perfect Binary Tree](https://practice.geeksforgeeks.org/problems/perfect-binary-tree/1/) | [Perfect Binary Tree](/Must-Do-Coding-Questions-for-Companies/Tree/Perfect_Binary_Tree.java) | **Easy** | | 37 | [Leaves to DLL](https://practice.geeksforgeeks.org/problems/leaves-to-dll/1) | [Leaves to DLL](/Must-Do-Coding-Questions-for-Companies/Tree/Leaves_to_DLL.java) | **Medium** |

Binary Search Tree | S.No | Question Link | Solution | Difficulty | | ---------- | ----- | ------------ | ---------: | | 1 | [Check for BST](https://practice.geeksforgeeks.org/problems/check-for-bst/1) | [Check for BST](/Must-Do-Coding-Questions-for-Companies/Binary_Search_Tree/Check_for_BST.java) | **Medium** | | 2 | [Lowest Common Ancestor in a BST](https://practice.geeksforgeeks.org/problems/lowest-common-ancestor-in-a-bst/1) | [Lowest Common Ancestor in a BST](/Must-Do-Coding-Questions-for-Companies/Binary_Search_Tree/Lowest_Common_Ancestor_in_a_BST.java) | **Medium** | | 3 | [Largest BST](https://practice.geeksforgeeks.org/problems/largest-bst/1#) | [Largest BST](./Binary_Search_Tree/Largest_BST.java) | **Medium** | | 4 | [Insert a node in a BST](https://practice.geeksforgeeks.org/problems/insert-a-node-in-a-bst/1#) | [Insert a node in a BST](./Binary_Search_Tree/Insert_a_node_in_a_BST.java) | **Basic** | | 5 | [Minimum element in BST](https://practice.geeksforgeeks.org/problems/minimum-element-in-bst/1) | [Minimum element in BST](/Must-Do-Coding-Questions-for-Companies/Binary_Search_Tree/Minimum_element_in_BST.java) | **Basic** | | 6 | [Count BST nodes that lie in a given range](https://practice.geeksforgeeks.org/problems/count-bst-nodes-that-lie-in-a-given-range/1#) | [Count BST nodes that lie in a given range](./Binary_Search_Tree/Count_BST_nodes_that_lie_in_a_given_range.java) | **Medium** | | 7 | [Flatten BST To A Sorted List](https://www.codingninjas.com/codestudio/problems/flatten-bst-to-a-sorted-list_1169459) | [Flatten BST To A Sorted List](/Must-Do-Coding-Questions-for-Companies/Binary_Search_Tree/Flatten_BST_To_A_Sorted_List.java) | **Medium** | | 8 | [Preorder to Postorder](https://practice.geeksforgeeks.org/problems/preorder-to-postorder4423/1) | [Preorder to Postorder](/Must-Do-Coding-Questions-for-Companies/Binary_Search_Tree/Preorder_to_Postorder.java) | **Medium** | | 9 | [Normal BST to Balanced BST](https://practice.geeksforgeeks.org/problems/normal-bst-to-balanced-bst/1/) | [Normal BST to Balanced BST](/Must-Do-Coding-Questions-for-Companies/Binary_Search_Tree/Normal_BST_to_Balanced_BST.java) | **Easy** |

Stack and Queue | S.No | Question Link | Solution | Difficulty | | ---------- | ----- | ------------ | ---------: | | 1 | [Reverse Stack Using Recursion](https://www.codingninjas.com/codestudio/problems/reverse-stack-using-recursion_631875) | [Reverse Stack Using Recursion](/Must-Do-Coding-Questions-for-Companies/Stack-Queue/Reverse_Stack_Using_Recursion.java) | **Easy** | | 2 | [Sort a stack](https://practice.geeksforgeeks.org/problems/sort-a-stack/1#) | [Sort a stack](./Stack-Queue/Sort_a_stack.java) | **Easy** | | 3 | [Merge Intervals](https://leetcode.com/problems/merge-intervals/) | [Merge Intervals](/Must-Do-Coding-Questions-for-Companies/Stack-Queue/Merge_Intervals.java) | **Medium** | | 4 | [Valid Substring](https://practice.geeksforgeeks.org/problems/valid-substring0624/1) | [Valid Substring](/Must-Do-Coding-Questions-for-Companies/Stack-Queue/Valid_Substring.java) | **Easy** | | 5 | [LRU Cache](https://practice.geeksforgeeks.org/problems/lru-cache/1#) | [LRU Cache](./Stack-Queue/LRU_Cache.java) | **Easy** | | 6 | [Queue Reversal](https://practice.geeksforgeeks.org/problems/queue-reversal/1#) | [Queue Reversal](./Stack-Queue/Queue_Reversal.java) | **Easy** | | 7 | [Implement two stacks in an array](https://practice.geeksforgeeks.org/problems/implement-two-stacks-in-an-array/1) | [Implement two stacks in an array](/Must-Do-Coding-Questions-for-Companies/Stack-Queue/Implement_two_stacks_in_an_array.java) | **Easy** | | 8 | [Next Smaller Element](https://www.codingninjas.com/codestudio/problems/next-smaller-element_1112581) | [Next Smaller Element](/Must-Do-Coding-Questions-for-Companies/Stack-Queue/Next_Smaller_Element.java) | **Medium** | | 9 | [First non-repeating character in a stream](https://practice.geeksforgeeks.org/problems/first-non-repeating-character-in-a-stream1216/1) | [First non-repeating character in a stream](/Must-Do-Coding-Questions-for-Companies/Stack-Queue/First_non-repeating_character_in_a_stream.java) | **Medium** | | 10 | [Game with String](https://practice.geeksforgeeks.org/problems/game-with-string4100/1#) | [Game with String](./Stack-Queue/Game_with_String.java) | **Medium** | | 11 | [First negative integer in every window of size k](https://practice.geeksforgeeks.org/problems/first-negative-integer-in-every-window-of-size-k3345/1) | [First negative integer in every window of size k](/Must-Do-Coding-Questions-for-Companies/Stack-Queue/First_negative_integer_in_every_window_of_size_k.java) | **Medium** | | 12 | [Reverse First K elements of Queue](https://practice.geeksforgeeks.org/problems/reverse-first-k-elements-of-queue/1) | [Reverse First K elements of Queue](/Must-Do-Coding-Questions-for-Companies/Stack-Queue/Reverse_First_K_elements_of_Queue.java) | **Easy** | | 13 | [Maximum of all subarrays of size k](https://practice.geeksforgeeks.org/problems/maximum-of-all-subarrays-of-size-k3101/1) | [Maximum of all subarrays of size k](/Must-Do-Coding-Questions-for-Companies/Stack-Queue/Maximum_of_all_subarrays_of_size_k.java) | **Medium** | | 14 | [Rotten Oranges](https://practice.geeksforgeeks.org/problems/rotten-oranges2536/1) | [Rotten Oranges](/Must-Do-Coding-Questions-for-Companies/Stack-Queue/Rotten_Oranges.java) | **Medium** | | 15 | [Special Stack](https://practice.geeksforgeeks.org/problems/special-stack/1) | [Special Stack](/Must-Do-Coding-Questions-for-Companies/Stack-Queue/Special_Stack.java) | **Medium** | | 16 | [Queue using two Stacks](https://practice.geeksforgeeks.org/problems/queue-using-two-stacks/1#) | [Queue using two Stacks](./Stack-Queue/Queue_using_two_Stacks.java) | **Easy** | | 17 | [Flood fill Algorithm](https://practice.geeksforgeeks.org/problems/flood-fill-algorithm1856/1) | [Flood fill Algorithm](/Must-Do-Coding-Questions-for-Companies/Stack-Queue/Flood_fill_Algorithm.java) | **Medium** | | 18 | [Distance of nearest cell having 1](https://practice.geeksforgeeks.org/problems/distance-of-nearest-cell-having-1-1587115620/1) | [Distance of nearest cell having 1](/Must-Do-Coding-Questions-for-Companies/Stack-Queue/Distance_of_nearest_cell_having_1.java) | **Medium** | | 19 | [Circular tour](https://practice.geeksforgeeks.org/problems/circular-tour/1) | [Circular tour](/Must-Do-Coding-Questions-for-Companies/Stack-Queue/Circular_tour.java) | **Medium** |

Dynamic Programming | S.No | Question Link | Solution | Difficulty | | ---------- | ----- | ------------ | ---------: | | 1 | [Min Cost Climbing Stairs](https://leetcode.com/problems/min-cost-climbing-stairs/) | [Min Cost Climbing Stairs](/Must-Do-Coding-Questions-for-Companies/DynamicProgramming/Min_Cost_Climbing_Stairs.java) | **Easy** | | 2 | [Coin Change](https://practice.geeksforgeeks.org/problems/coin-change2448/1#) | [Coin Change](./DynamicProgramming/Coin_Change.java) | **Medium** | | 3 | [0 - 1 Knapsack Problem](https://practice.geeksforgeeks.org/problems/0-1-knapsack-problem0945/1) | [0 - 1 Knapsack Problem](/Must-Do-Coding-Questions-for-Companies/DynamicProgramming/0_1_Knapsack_Problem.java) | **Medium** | | 4 | [nCr](https://practice.geeksforgeeks.org/problems/ncr1019/1#) | [nCr](./DynamicProgramming/nCr.java) | **Medium** | | 5 | [House Robber](https://leetcode.com/problems/house-robber/) | [House Robber](/Must-Do-Coding-Questions-for-Companies/DynamicProgramming/House_Robber.java) | **Medium** | | 6 | [House Robber II](https://leetcode.com/problems/house-robber-ii/) | [House Robber II](/Must-Do-Coding-Questions-for-Companies/DynamicProgramming/House_Robber_II.java) | **Medium** | | 7 | [Jump Game](https://leetcode.com/problems/jump-game/) | [Jump Game](/Must-Do-Coding-Questions-for-Companies/DynamicProgramming/Jump_Game.java) | **Medium** | | 8 | [Longest Increasing Subsequence](https://practice.geeksforgeeks.org/problems/longest-increasing-subsequence-1587115620/1#) | [Longest Increasing Subsequence](./DynamicProgramming/Longest_Increasing_Subsequence.java) | **Medium** | | 9 | [Longest Common Subsequence](https://practice.geeksforgeeks.org/problems/longest-common-subsequence-1587115620/1) | [Longest Common Subsequence](/Must-Do-Coding-Questions-for-Companies/DynamicProgramming/Longest_Common_Subsequence.java) | **Medium** | | 10 | [Maximum path sum in matrix](https://practice.geeksforgeeks.org/problems/path-in-matrix3805/1) | [Maximum path sum in matrix](/Must-Do-Coding-Questions-for-Companies/DynamicProgramming/Maximum_path_sum_in_matrix.java) | **Medium** | | 11 | [Edit Distance](https://practice.geeksforgeeks.org/problems/edit-distance3702/1) | [Edit Distance](/Must-Do-Coding-Questions-for-Companies/DynamicProgramming/Edit_Distance.java) | **Medium** | | 12 | [House Robber III](https://leetcode.com/problems/house-robber-iii/) | [House Robber III](/Must-Do-Coding-Questions-for-Companies/DynamicProgramming/House_Robber_III.java) | **Medium** | | 13 | [Minimum sum partition](https://practice.geeksforgeeks.org/problems/minimum-sum-partition3317/1/#) | [Minimum sum partition](./DynamicProgramming/Minimum_sum_partition.java) | **Hard** | | 14 | [Subset Sum Problem](https://practice.geeksforgeeks.org/problems/subset-sum-problem-1611555638/1/) | [Subset Sum Problem](/Must-Do-Coding-Questions-for-Companies/DynamicProgramming/Subset_Sum_Problem.java) | **Medium** | | 15 | [Partition Equal Subset Sum](https://practice.geeksforgeeks.org/problems/subset-sum-problem2014/1) | [Partition Equal Subset Sum](/Must-Do-Coding-Questions-for-Companies/DynamicProgramming/Partition_Equal_Subset_Sum.java) | **Medium** | | 16 | [Knapsack with Duplicate Items](https://practice.geeksforgeeks.org/problems/knapsack-with-duplicate-items4201/1/#) | [Knapsack with Duplicate Items](./DynamicProgramming/Knapsack_with_Duplicate_Items.java) | **Medium** | | 17 | [Rod Cutting](https://practice.geeksforgeeks.org/problems/rod-cutting0840/1/#) | [Rod Cutting](./DynamicProgramming/Rod_Cutting.java) | **Medium** | | 18 | [Coin Change 2](https://leetcode.com/problems/coin-change-2/) | [Coin Change 2](/Must-Do-Coding-Questions-for-Companies/DynamicProgramming/Coin_Change_2.java) | **Medium** | | 19 | [Longest Common Substring](https://practice.geeksforgeeks.org/problems/longest-common-substring1452/1/#) | [Longest Common Substring](./DynamicProgramming/Longest_Common_Substring.java) | **Medium** | | 20 | [Longest Palindromic Subsequence](https://practice.geeksforgeeks.org/problems/longest-palindromic-subsequence-1612327878/1/) | [Longest Palindromic Subsequence](/Must-Do-Coding-Questions-for-Companies/DynamicProgramming/Longest_Palindromic_Subsequence.java) | **Medium** | | 21 | [Minimum number of deletions and insertions](https://practice.geeksforgeeks.org/problems/minimum-number-of-deletions-and-insertions0209/1/) | [Minimum number of deletions and insertions](/Must-Do-Coding-Questions-for-Companies/DynamicProgramming/Minimum_number_of_deletions_and_insertions.java) | **Easy** | | 22 | [Shortest Common Supersequence](https://practice.geeksforgeeks.org/problems/shortest-common-supersequence0322/1/) | [Shortest Common Supersequence](/Must-Do-Coding-Questions-for-Companies/DynamicProgramming/Shortest_Common_Supersequence.java) | **Medium** | | 23 | [Minimum number of deletions](https://practice.geeksforgeeks.org/problems/minimum-number-of-deletions4610/1/) | [Minimum number of deletions](/Must-Do-Coding-Questions-for-Companies/DynamicProgramming/Minimum_number_of_deletions.java) | **Easy** | | 24 | [Longest Repeating Subsequence](https://practice.geeksforgeeks.org/problems/longest-repeating-subsequence2004/1) | [Longest Repeating Subsequence](/Must-Do-Coding-Questions-for-Companies/DynamicProgramming/Longest_Repeating_Subsequence.java) | **Easy** |

Mathematics | S.No | Question Link | Solution | Difficulty | | ---------- | ----- | ------------ | ---------: | | 1 | [Find Nth root of M](https://practice.geeksforgeeks.org/problems/find-nth-root-of-m) | [Find Nth root of M](/Must-Do-Coding-Questions-for-Companies/Math/Find_Nth_root_of_M.java) | **Easy** | | 2 | [Kth Smallest Factor](https://practice.geeksforgeeks.org/problems/kth-smallest-factor2345/1) | [Kth Smallest Factor](/Must-Do-Coding-Questions-for-Companies/Math/Kth_Smallest_Factor.java) | **Easy** | | 3 | [Square root of a number](https://practice.geeksforgeeks.org/problems/square-root/1) | [Square root of a number](/Must-Do-Coding-Questions-for-Companies/Math/Square_root_of_a_number.java) | **Medium** |