README ¶ Algoexpert 176 Coding Questions Star questions Arrays Waterfall Streams Apartment Hunting Minimum Area Rectangle Line Through Points Calendar Matching Zigzag Traverse Subarray Sort Largest Range Spiral Traverse Longest Peak First Duplicate Value Monotonic Array Smallest Difference Non-Constructible Change Longest Streak Of Adjacent Ones Binary Search Trees Right Smaller Than Same BSTs Find Closest Value In BST BST Construction Validate BST Min Height BST Reconstruct BST Largest Bst Size Subtrees Within Range Binary Trees Right Sibling Tree Flatten Binary Tree All Kinds Of Node Depths Compare Leaf Traversal Iterative In-order Traversal Branch Sums Binary Tree Diameter Find Successor Max Path Sum In Binary Tree Find Nodes Distance K Dynamic Programming Max Profit With K Transactions Palindrome Partitioning Min Cuts Longest Increasing Subsequence Longest String Chain Square of Zeroes Longest Common Subsequence Max Sum Increasing Subsequence Knapsack Problem Disk Stacking Numbers In Pi Maximum Sum Submatrix Maximize Expression Number Of Ways To Make Change Min Number Of Coins For Change Levenshtein Distance Min Number Of Jumps Water Area Number Of Ways To Traverse Graph Glob Matching Famous Algorithms Topological Sort Dijkstra's Algorithm A* Algorithm Knuth—Morris—Pratt Algorithm Graphs Airport Connections Two-Edge-Connected Graph Detect Arbitrage Rectangle Mania Single Cycle Check Boggle Board Cycle In Graph River Sizes Degrees Of Separation Greedy Algorithms Minimum Waiting Time Valid Starting City Heaps Min Heap Construction Merge Sorted Arrays Continuous Median Sort K-Sorted Array Laptop Rentals Linked Lists Linked List Construction LRU Cache Rearrange Linked List Find Loop Sum of Linked Lists Recursion Non-Attacking Queens Number Of Binary Tree Topologies Permutations Powerset Solve Sudoku Ambiguous Measurements Generate Div Tags Interweaving Strings Lowest Common Manager Phone Number Mnemonics Nth Fibonacci Staircase Traversal Searching Binary Search Find Three Largest Numbers Search In Sorted Matrix Shifted Binary Search Search For Range Quickselect Index Equals Value Sorting Count Inversions Merge Sort Quick Sort Heap Sort Radix Sort Three Number Sort Stacks Largest Rectangle Under Skyline Shorten Path Next Greater Element Sort Stack Strings Smallest Substring Containing Count Contained Permutations Underscorify Substring Longest Substring Without Duplication Pattern Matcher Longest Palindromic Substring Valid IP Addresses Group Anagrams Run-Length Encoding Tries Multi String Search Special Strings Expand ▾ Collapse ▴ Directories ¶ Show internal Expand all Path Synopsis assessments 01_glob_matching 02_inverted_bisection 03_special_strings 04_longest_streak_of_adjacent_ones 05_degrees_of_separation 06_max_subsequence_dot_product 07_largest_bst_size 08_spin_rings 09_words_in_phone_number 10_balance_index 11_build_failures 12_subtrees_within_range 13_repeated_matrix_values 14_reverse_alternating_k_nodes 15_count_contained_permutations 16_longestIncreasing_matrix_path easy 01_get_nth_fib 02_two_number_sum 03_is_valid_subsequence 04_find_closest_value 05_branch_sums 06_node_depths 07_depth_first_search 08_product_sum 09_binary_search 10_find_three_largest_numbers 11_bubble_sort 12_insertion_sort 13_selection_sort 14_is_palindrome 15_caesar_cipher_encryptor 16_class_photos 17_generate_document 18_minimum_waiting_time 19_non_constructible_change 20_remove_duplicates_from_linkedlist 21_run_length_encoding 22_sorted_squared_array 23_tournament_winner 24_first_non_repeating_character 25_tandem_bicycle hard 01_four_number_sum 02_subarray_sort 03_largest_range 04_min_rewards 05_zigzag_traverse 06_same_bsts 07_validate_three_nodes 08_max_path_sum 09_find_nodes_distance_k 10_max_sumIncreasing_subsequence 11_longest_common_subsequence 12_min_number_of_jumps 13_water_area 14_knapsack_problem 15_disk_stacking 16_numbers_in_pi 17_dijkstras_algorithm 18_maximize_expression 19_maximum_sum_submatrix 20_topological_sort 21_boggle_board 22_continuous_median 23_sort_k_sorted_array 24_laptop_rentals 25_find_loop 26_reverse_linked_list 27_merge_linked_lists 28_shift_linked_list 29_lowest_common_manager 30_interweaving_strings 31_solve_sudoku 32_generate_div_tags 33_ambiguous_measurements 34_shifted_binary_search 35_search_for_range 36_index_equals_value 37_quick_select 38_quick_sort 39_heap_sort 40_radix_sort 41_shorten_path 42_largest_rectangle_under_skyline 43_underscorify_substring 44_pattern_matcher 45_multi_string_search medium 01_river_sizes 02_three_number_sum 03_smallest_difference 04_move_element_to_end 05_is_monotonic 06_spiral_traverse 07_longest_peak 08_bst_construction 09_validate_bst 10_bst_traversal 11_min_height_bst 12_invert_binary_tree 13_max_subset_sumno_adjacent 14_number_of_ways_to_make_change 15_min_number_of_coins_for_change 16_levenshtein_distance 17_kadanes_algorithm 18_single_cycle_check 19_breadth_first_search 20_youngest_common_ancestor 21_heap_construction 22_linked_list 23_remove_kth_node_from_end 24_permutations 25_powerset 26_search_in_sorted_matrix 27_min_max_stack 28_balanced_brackets 29_longest_palindromic_substring 30_group_anagrams 31_suffix_trie 32_array_of_products 33_binary_tree_diameter 34_cycle_in_graph 35_find_kth_largest_value_in_bst 36_find_successor 37_first_duplicate_value 38_height_balanced_binary_tree 39_merge_overlapping_intervals 40_number_of_ways_to_traverse_graph 41_phone_number_mnemonics 42_reconstruct_bst 43_remove_islands 44_reverse_words_in_string 45_staircase_traversal 46_sum_of_linked_lists 47_sunset_views 48_task_assignment 49_three_number_sort 50_valid_ip_addresses 51_valid_starting_city 52_sort_stack 53_minimum_characters_for_words 54_minimum_passes_of_matrix 55_next_greater_element 56_longest_substring_without_duplication very_hard 01_apartment_hunting 02_calendar_matching 03_waterfall_streams 04_minimum_area_rectangle 05_line_through_points 06_right_smaller_than 07_iterative_in_order_traversal 08_flatten_binary_tree 09_right_sibling_tree 10_all_kinds_of_node_depths 11_compare_leaf_traversal 12_max_profit_with_k_transactions 13_palindrome_partitioning_min_cuts 14_longest_increasing_subsequence 15_longest_string_chain 16_square_of_zeroes 17_knuth_morris_pratt_algorithm 18_a_star_algorithm 19_rectangle_mania 20_detect_arbitrage 21_two_edge_connected_graph 22_airport_connections 23_merge_sorted_arrays 24_LRU_cache 25_rearrange_linked_list 26_linked_list_palindrome 27_zip_linked_list 28_node_swap 29_number_of_binary_tree_topologies 30_non_attacking_queens 31_merge_sort 32_count_inversions 33_smallest_substring_containing 34_longest_balanced_substring Click to show internal directories. Click to hide internal directories.