This repository contains Data Structures and Algorithms (DSA) practice problems and solutions, organized by lecture topics.
The repository is organized into lecture folders (Lec1, Lec2, etc.), each containing relevant Java files and PDFs for the topics covered.
- Check_prime.java
- Grade_Card.java
- Inc_dec.java
- Loop_Demo.java
- Maximum_3_Number.java
- Odd_Even.java
- Test.java
- Pattern0.java
- Pattern1.java
- Pattern12.java
- Pattern13.java
- Pattern14.java
- Pattern2.java
- Pattern21.java
- Pattern4.java
- Pattern9.java
- Catch_the_Coin.java
- Fibo.java
- For_Loops.java
- GCD.java
- Pattern25.java
- Pattern27.java
- Pattern_Rhombus.java
- Bin_to_Dec.java
- Data_Type_Demo.java
- Dec_to_Bin.java
- Data_Demo_2.java
- Data_Demo_3.java
- Data_Demo_4.java
- Inverse_of_number.java
- Pascal_Triangle.java
- Array_Demo.java
- Fun_Demo_1.java
- Fun_Demo_2.java
- Fun_Demo_3.java
- Is_Armstrong_Number.java
- User_Input_and_Display.java
- Array_Swap_1.java
- Array_Swap_2.java
- Array_Swap_3.java
- Linear_Search.java
- Maximum_in_Array.java
- Reverse_Array.java
- Reverse_Range.java
- Rotate_Array.java
- Majority_Element.java
- Product_of_Array_Except_Self.java
- Reversal_Algo.java
- Trapping_Rain_Water.java
- Bubble_Sort.java
- Insertion_Sort.java
- Selection_Sort.java
- Binary_Search.java
- First_Bad_Version.java
- Kadanes_Algo.java
- Kth_Root.java
- Maximum_Subarray.java
- Next_Permutation.java
- Time_and_Space_Comp.java
- Input_and_Print.java
- Search_a_2D_Matrix_II.java
- Tranpose_Matrix.java
- Two_2D_Array_Demo.java
- Wave_Print.java
- Gas_Station.java
- Sipral_Print.java
- Aggressive_cows.java
- Book_Allocation.java
- Check_Palindromic.java
- Reverse_Words_in_a_String.java
- String_Compression.java
- String_demo_1.java
- String_demo_2.java
- String_demo_3.java
- String_Equal.java
- SubString_Print.java
- Playing_with_Good_String.java
- Wrapper_Class.java
- ArraysList_Demo.java
- ArraysList_Demo_2.java
- Finding_CB_Numbers.java
- Static_Fun_Demo.java
- String_to_Number.java
- SubString_Lenght_Wise.java
- Arrays_Sum_Of_Two_Arrays.java
- String_Builder_Demo.java
- String_Builder_Demo2.java
- Freq_Array.java
- Kartik_Bhaiya_And_Strings.java
- Maximum_Window_Sum.java
- Subarray_Product_Less_Than_K.java
- Fact.java
- Fact_Tail.java
- First_Occ_Of_Array.java
- Power.java
- Print_Dec.java
- Prtint_Inc.java
- Coin_Toss.java
- Coin_Toss2.java
- Fibo.java
- SubSequnce.java
- Board_Path.java
- Count_SubSequnce.java
- Generate_Parentheses.java
- Lexicographical_Numbers.java
- Key_Paid.java
- Permutation.java
- Permutation2.java
- Coin_Combination.java
- Coin_Permuation.java
- Maze_path.java
- Queen_Combination.java
- Queen_Permuation.java
- Combination_Sum.java
- N_Queen.java
- Palindrome_Partitioning.java
- Rat_maze.java
- Sudoku_Solver.java
- Axis_Orbit.java
- Count_Primes.java
- Merge_Sort.java
- Merge_Two_Sorted_Array.java
- Partition_in_Array.java
- Quick_Sort.java
- Sieve_of_Eratosthenes.java
- Randomized_quick_Sort.java
- Random_Number.java
- Construct_Smallest_Number_From_DI_String.java
- Find_the_Celebrity.java
- Stack_Add_Last.java
- Stack_Java.java
- Stack_Reverse.java
- Student.java
- Student_Client.java
- Histogram.java
- Maximal_Rectangle.java
- Next_Greater_Element.java
- Stock_Span.java
- LinkedList.java
- LinkedListClient.java
- Linked_List_Cycle.java
- Middle_of_the_Linked_List.java
- Cycle_removal.java
- Delete_Node_in_a_Linked_List.java
- Intersection_of_Two_Linked_Lists.java
- Merge_Two_Sorted_Lists.java
- Reverse_Linked_List.java
- Divisible_SubArray.java
- Person.java
- Person_Client.java
- Student.java
- Student_Client.java
- Add_number.java
- C.java
- Client.java
- P.java
- Student.java
- Student_Client.java
- A.java
- Abstract_Demo.java
- Abstract_Demo2.java
- Abstract_Demo_Client.java
- B.java
- C.java
- Client.java
- Generics_Demo.java
- LinkedList.java
- LinkedList_Client.java
- Pair.java
- StackI.java
- Stack_Class.java
- Stack_Client.java
- Student.java
- BUSYMAN.java
- Cars.java
- CarsClient.java
- BinaryTree.java
- BinaryTree_Client.java
- Tree_Question.java
- Binary_Tree_Right_Side_View.java
- Diameter_of_Binary_Tree.java
- Diameter_of_Binary_Tree_Opti.java
- Flip_Equivalent_Binary_Trees.java
- Lowest_Common_Ancestor.java
- Path_Sum.java
- Sum_Root_to_Leaf_Numbers.java
- Symmetric_Tree.java
- Binary_Search_Tree.java
- Binary_Search_Tree_Client.java
- Create_tree_Using_Level_Order.java
- Delete_Node_in_a_BST.java
- Insert_into_a_Binary_Search_Tree.java
- Maximum_Sum_BST_in_Binary_Tree.java
- Validate_Binary_Search_Tree.java
- Binary_Tree_Cameras.java
- Construct_Binary_Tree_from_Preorder_and_Inorder_Traversal.java
- Distribute_Coins_in_Binary_Tree.java
- Flatten_Binary_Tree_to_Linked_List.java
- Inorder_Successor_in_BST.java
- Maximum_Width_of_Binary_Tree.java
- Serialize_and_Deserialize_Binary_Tree.java
- Heap.java
- HeapClient.java
- Kth_Largest_Element_in_an_Array.java
- Merge_k_Sorted_Lists.java
- HashMap_Demo.java
- IPO_LeetCode.java
- Meeting_Rooms_II.java
- Minimum_Sum_Pair.java
- Set_Demo.java
- HashMap.java
- HashMapClient.java
- Longest_Consecutive_Sequence.java
- Fibo.java
- Group_Anagrams.java
- Top_View.java
- Vertical_Order_Traversal_of_a_Binary_Tree.java
- House_Robber.java
- Longest_Increasing_Subsequence.java
- Coin_Change_II.java
- Distinct_Subsequences.java
- Edit_distance.java
- Longest_Common_Subsequence.java
- Uncrossed_Lines.java
- Knapsack_Zero_One.java
- Minimum_Falling_Path_Sum.java
- Minimum_Falling_Path_Sum2.java
- Minimum_Path_Sum.java
- Valentine_Magic.java
- Build_Binary_Expression_Tree_From_Infix_Expression.java
- Lis_N_Log_N.java
- Wine_Problem.java
- Burst_Balloons.java
- MCM.java
- Optimal_Game_Strategy_II.java
- Graph.java
- GraphClient.java
- Graph_2.java
- Graph_Valid_Tree.java
- Is_Graph_Bipartite.java
- Prims_Algorithm.java
- Topological_Sort.java
- Cycle_In_Graph.java
- DisJoinSet.java
- Kruskals_Algorithm.java
- BellManFord.java
- Dijkstra_Algorithm.java
- Alien_Dictionary.java
- Longest_Cycle_in_a_Graph.java
- MST_0_1.java
- MST_0_1_Opti.java
- The_Maze_II.java
- Count_Set_Bit.java
- Left_Shift.java
- Magic_number.java
- Odd_Even.java
- Right_Shift.java
- Single_Number.java
- Single_Number_III.java
- SubSequnce_Without_Recursion.java
- Ehab_the_Xorcist.java
- Preparing_Olympiad.java
- Bitwise_XOR_of_All_Pairings.java
- Find_XOR_Sum_of_All_Pairs_Bitwise_AND.java
- Minimize_XOR.java
- Neighboring_Bitwise_XOR.java
- Coins.java
- Set_Theory_venn.java
- Trie.java
- Tries_Contacts.java
- Chessboard_Board.java
- Split_array.java
- Subset_problem.java
- Vivek_Loves_Array_Game.java
Each lecture folder contains Java code examples and problem solutions. PDFs may include lecture notes or problem statements.
Feel free to explore and use this repository for learning and reference.