leetcode algorithm solutions, with test cases
over 110 problems
├── back_track
│ ├── sys
│ ├── q212_word_search_ii.rs
│ ├── q51_n_queens.rs
│ └── q864_shortest_path_all_keys.rs
├── bfs
│ ├── sys
│ ├── q1293_shortest_path_with_block.rs
│ ├── q1926_maze.rs
│ ├── q433_min_mutation.rs
│ └── q934_shortest_bridge.rs
├── binary_heap
│ ├── median_from_data_stream.rs
│ └── sys
├── binary_search
│ ├── sys
│ ├── q34_search_range.rs
│ ├── q374_guess_number.rs
│ ├── q523_continuous_subarray_sum.rs
│ ├── q792_num_matching_subseq.rs
│ └── q878_nth_magical_number.rs
├── bitwise
│ ├── sys
│ └── q36_valid_sudoku.rs
├── contribution
│ ├── sys
│ └── q891_sub_seq_widths.rs
├── convex_hull
│ ├── sys
│ └── q587_erect_the_fence.rs
├── dfs
│ ├── sys
│ ├── q1239_maxlen_concatenated_string.rs
│ └── q784_letter_case_permutation.rs
├── double_ptr
│ ├── sys
│ ├── q11_max_area.rs
│ ├── q15_three_sum.rs
│ ├── q26_remove_dup_from_sorted_arr.rs
│ └── q481_magic_string.rs
├── dp
│ ├── sys
│ ├── q1000_merge_stones.rs
│ ├── q1049_last_stone_weight_ii.rs
│ ├── q1235_job_scheduling.rs
│ ├── q131_palindrome_partitioning.rs
│ ├── q132_palindrome_partitioning_ii.rs
│ ├── q279_perfect_squares.rs
│ ├── q312_burst_ballons.rs
│ ├── q416_can_partition.rs
│ ├── q790_num_tilings.rs
│ ├── q805_split_array_same_average.rs
│ ├── q887_egg_drop.rs
│ └── q915_partition_disjoint.rs
├── graph
│ ├── sys
│ └── q947_remove_stones.rs
├── greedy
│ ├── sys
│ ├── q1710_maximum_units.rs
│ ├── q2131_longest_palindrome.rs
│ └── q754_reach_number.rs
├── hash_map
│ ├── sys
│ ├── q49_group_anagrams.rs
│ └── q811_subdomain_visits.rs
├── linked_list
│ ├── sys
│ ├── q0202_get_kth_from_end.rs
│ └── q876_middle_of_linked_list.rs
├── main.rs
├── math
│ ├── sys
│ └── q279_perfect_squares.rs
├── queue
│ ├── sys
│ └── q862_shortest_subarray.rs
├── simulation
│ ├── sys
│ ├── q1620_best_coordinate.rs
│ ├── q1662_array_string_equal.rs
│ ├── q1706_find_ball.rs
│ ├── q1768_merge_alternately.rs
│ ├── q1822_array_sign.rs
│ ├── q223_rectangle_area.rs
│ ├── q263_ugly_number.rs
│ ├── q764_plus_sign_in_matrix.rs
│ ├── q766_diagonal_order_access_matrix.rs
│ └── q835_image_overlap.rs
├── sliding_window
│ └── sys
├── sort
│ ├── sys
│ └── q775_is_ideal_permutation.rs
├── stack
│ ├── sys
│ ├── q1047_remove_adjacent_dup.rs
│ ├── q1106_parse_bool_expr.rs
│ ├── q224_basic_calculator.rs
│ ├── q901_stock_span.rs
│ ├── q901_stock_spanner.rs
│ └── q907_sum_subarray_mins.rs
├── strings
│ ├── sys
│ ├── q1323_max_69.rs
│ ├── q151_reverse_words.rs
│ ├── q1544_make_the_string_great.rs
│ ├── q1668_max_repeating.rs
│ ├── q1678_goal_interpret.rs
│ ├── q1684_count_consistent_strings.rs
│ ├── q1704_halves_are_alike.rs
│ ├── q345_reverse_vowels.rs
│ ├── q719_customer_sort_string.rs
│ ├── q816_ambiguous_coordinates.rs
│ └── q899_orderly_queue.rs
├── top_cn
│ ├── f1_q3_longest_substring.rs
│ ├── f2_q206_reverse_list.rs
│ ├── f3_q146_lru.rs
│ ├── f4_q215_kth_largest_elem_in_array.rs
│ └── sys
├── tree
│ ├── sys
│ └── q222_count_complete_tree_nodes.rs
├── tricky
│ ├── sys
│ ├── q799_champagne_tower.rs
│ └── q808_soup.rs
└── weekly_contest
├── sys
└── w318
├── sys
├── q2460_apply_operations.rs
├── q2461_maximum_subarray_sum.rs
├── q2462_total_cost.rs
└── q2463_minimum_total_distance.rs