From 539f206a2aa969a67c8b00194e0599cfac19c264 Mon Sep 17 00:00:00 2001 From: Akarshan Gupta <115368981+AkarshanGupta@users.noreply.github.com> Date: Sat, 9 Mar 2024 12:35:37 +0530 Subject: [PATCH 1/2] adding a new problem solution --- {algorithms => docs/algorithms}/__init__.py | 0 .../algorithms}/arrays/__init__.py | 0 .../algorithms}/arrays/delete_nth.py | 0 .../algorithms}/arrays/flatten.py | 0 .../algorithms}/arrays/garage.py | 0 .../algorithms}/arrays/josephus.py | 0 .../algorithms}/arrays/limit.py | 0 .../algorithms}/arrays/longest_non_repeat.py | 0 .../algorithms}/arrays/max_ones_index.py | 0 .../algorithms}/arrays/merge_intervals.py | 0 .../algorithms}/arrays/missing_ranges.py | 0 .../algorithms}/arrays/move_zeros.py | 0 .../algorithms}/arrays/n_sum.py | 0 .../algorithms}/arrays/plus_one.py | 0 .../algorithms}/arrays/remove_duplicates.py | 0 .../algorithms}/arrays/rotate.py | 0 .../algorithms}/arrays/summarize_ranges.py | 0 .../algorithms}/arrays/three_sum.py | 0 docs/algorithms/arrays/three_sums.py | 31 +++++++++++++++++++ .../algorithms}/arrays/top_1.py | 0 .../algorithms}/arrays/trimmean.py | 0 .../algorithms}/arrays/two_sum.py | 0 .../algorithms}/automata/__init__.py | 0 .../algorithms}/automata/dfa.py | 0 .../algorithms}/backtrack/__init__.py | 0 .../algorithms}/backtrack/add_operators.py | 0 .../algorithms}/backtrack/anagram.py | 0 .../backtrack/array_sum_combinations.py | 0 .../algorithms}/backtrack/combination_sum.py | 0 .../backtrack/factor_combinations.py | 0 .../algorithms}/backtrack/find_words.py | 0 .../backtrack/generate_abbreviations.py | 0 .../backtrack/generate_parenthesis.py | 0 .../backtrack/letter_combination.py | 0 .../backtrack/palindrome_partitioning.py | 0 .../algorithms}/backtrack/pattern_match.py | 0 .../algorithms}/backtrack/permute.py | 0 .../algorithms}/backtrack/permute_unique.py | 0 .../algorithms}/backtrack/subsets.py | 0 .../algorithms}/backtrack/subsets_unique.py | 0 .../algorithms}/bfs/__init__.py | 0 .../algorithms}/bfs/count_islands.py | 0 .../algorithms}/bfs/maze_search.py | 0 .../shortest_distance_from_all_buildings.py | 0 .../algorithms}/bfs/word_ladder.py | 0 .../algorithms}/bit/__init__.py | 0 .../algorithms}/bit/add_bitwise_operator.py | 0 .../algorithms}/bit/binary_gap.py | 0 .../algorithms}/bit/bit_operation.py | 0 .../algorithms}/bit/bytes_int_conversion.py | 0 .../algorithms}/bit/count_flips_to_convert.py | 0 .../algorithms}/bit/count_ones.py | 0 .../algorithms}/bit/find_difference.py | 0 .../algorithms}/bit/find_missing_number.py | 0 .../bit/flip_bit_longest_sequence.py | 0 .../algorithms}/bit/has_alternative_bit.py | 0 .../algorithms}/bit/insert_bit.py | 0 .../algorithms}/bit/power_of_two.py | 0 .../algorithms}/bit/remove_bit.py | 0 .../algorithms}/bit/reverse_bits.py | 0 .../algorithms}/bit/single_number.py | 0 .../algorithms}/bit/single_number2.py | 0 .../algorithms}/bit/single_number3.py | 0 .../algorithms}/bit/subsets.py | 0 .../algorithms}/bit/swap_pair.py | 0 .../algorithms}/compression/__init__.py | 0 .../algorithms}/compression/elias.py | 0 .../algorithms}/compression/huffman_coding.py | 0 .../compression/rle_compression.py | 0 .../algorithms}/dfs/__init__.py | 0 .../algorithms}/dfs/all_factors.py | 0 .../algorithms}/dfs/count_islands.py | 0 .../algorithms}/dfs/maze_search.py | 0 .../algorithms}/dfs/pacific_atlantic.py | 0 .../algorithms}/dfs/sudoku_solver.py | 0 .../algorithms}/dfs/walls_and_gates.py | 0 .../algorithms}/distribution/__init__.py | 0 .../algorithms}/distribution/histogram.py | 0 .../algorithms}/dp/__init__.py | 0 .../algorithms}/dp/buy_sell_stock.py | 0 .../algorithms}/dp/climbing_stairs.py | 0 .../algorithms}/dp/coin_change.py | 0 .../algorithms}/dp/combination_sum.py | 0 .../algorithms}/dp/edit_distance.py | 0 .../algorithms}/dp/egg_drop.py | 0 {algorithms => docs/algorithms}/dp/fib.py | 0 .../algorithms}/dp/hosoya_triangle.py | 0 .../algorithms}/dp/house_robber.py | 0 .../algorithms}/dp/int_divide.py | 0 .../algorithms}/dp/job_scheduling.py | 0 .../algorithms}/dp/k_factor.py | 0 .../algorithms}/dp/knapsack.py | 0 .../dp/longest_common_subsequence.py | 0 .../algorithms}/dp/longest_increasing.py | 0 .../algorithms}/dp/matrix_chain_order.py | 0 .../algorithms}/dp/max_product_subarray.py | 0 .../algorithms}/dp/max_subarray.py | 0 .../algorithms}/dp/min_cost_path.py | 0 .../algorithms}/dp/num_decodings.py | 0 .../algorithms}/dp/planting_trees.py | 0 .../algorithms}/dp/regex_matching.py | 0 {algorithms => docs/algorithms}/dp/rod_cut.py | 0 .../algorithms}/dp/word_break.py | 0 .../algorithms}/graph/__init__.py | 0 .../graph/all_pairs_shortest_path.py | 0 .../algorithms}/graph/bellman_ford.py | 0 .../algorithms}/graph/check_bipartite.py | 0 .../graph/check_digraph_strongly_connected.py | 0 .../algorithms}/graph/clone_graph.py | 0 .../count_connected_number_of_component.py | 0 .../algorithms}/graph/cycle_detection.py | 0 .../algorithms}/graph/dijkstra.py | 0 .../algorithms}/graph/find_all_cliques.py | 0 .../algorithms}/graph/find_path.py | 0 .../algorithms}/graph/graph.py | 0 .../algorithms}/graph/markov_chain.py | 0 .../algorithms}/graph/maximum_flow.py | 0 .../algorithms}/graph/maximum_flow_bfs.py | 0 .../algorithms}/graph/maximum_flow_dfs.py | 0 .../graph/minimum_spanning_tree.py | 0 .../path_between_two_vertices_in_digraph.py | 0 .../graph/prims_minimum_spanning.py | 0 .../algorithms}/graph/satisfiability.py | 0 .../strongly_connected_components_kosaraju.py | 0 .../algorithms}/graph/tarjan.py | 0 .../graph/transitive_closure_dfs.py | 0 .../algorithms}/graph/traversal.py | 0 .../algorithms}/greedy/__init__.py | 0 .../greedy/max_contiguous_subsequence_sum.py | 0 .../algorithms}/heap/__init__.py | 0 .../algorithms}/heap/binary_heap.py | 0 .../algorithms}/heap/k_closest_points.py | 0 .../algorithms}/heap/merge_sorted_k_lists.py | 0 .../algorithms}/heap/skyline.py | 0 .../algorithms}/heap/sliding_window_max.py | 0 .../algorithms}/linkedlist/__init__.py | 0 .../algorithms}/linkedlist/add_two_numbers.py | 0 .../linkedlist/copy_random_pointer.py | 0 .../algorithms}/linkedlist/delete_node.py | 0 .../linkedlist/first_cyclic_node.py | 0 .../algorithms}/linkedlist/intersection.py | 0 .../algorithms}/linkedlist/is_cyclic.py | 0 .../algorithms}/linkedlist/is_palindrome.py | 0 .../algorithms}/linkedlist/is_sorted.py | 0 .../algorithms}/linkedlist/kth_to_last.py | 0 .../algorithms}/linkedlist/linkedlist.py | 0 .../algorithms}/linkedlist/merge_two_list.py | 0 .../algorithms}/linkedlist/partition.py | 0 .../linkedlist/remove_duplicates.py | 0 .../algorithms}/linkedlist/remove_range.py | 0 .../algorithms}/linkedlist/reverse.py | 0 .../algorithms}/linkedlist/rotate_list.py | 0 .../algorithms}/linkedlist/swap_in_pairs.py | 0 .../algorithms}/map/__init__.py | 0 .../algorithms}/map/hashtable.py | 0 .../algorithms}/map/is_anagram.py | 0 .../algorithms}/map/is_isomorphic.py | 0 .../map/longest_common_subsequence.py | 0 .../map/longest_palindromic_subsequence.py | 0 .../algorithms}/map/randomized_set.py | 0 .../map/separate_chaining_hashtable.py | 0 .../algorithms}/map/valid_sudoku.py | 0 .../algorithms}/map/word_pattern.py | 0 .../algorithms}/maths/__init__.py | 0 .../algorithms}/maths/base_conversion.py | 0 .../maths/chinese_remainder_theorem.py | 0 .../algorithms}/maths/combination.py | 0 .../algorithms}/maths/cosine_similarity.py | 0 .../algorithms}/maths/decimal_to_binary_ip.py | 0 .../maths/diffie_hellman_key_exchange.py | 0 .../algorithms}/maths/euler_totient.py | 0 .../algorithms}/maths/extended_gcd.py | 0 .../algorithms}/maths/factorial.py | 0 {algorithms => docs/algorithms}/maths/fft.py | 0 .../algorithms}/maths/find_order_simple.py | 0 .../maths/find_primitive_root_simple.py | 0 {algorithms => docs/algorithms}/maths/gcd.py | 0 .../maths/generate_strobogrammtic.py | 0 .../algorithms}/maths/hailstone.py | 0 .../algorithms}/maths/is_strobogrammatic.py | 0 .../algorithms}/maths/krishnamurthy_number.py | 0 .../algorithms}/maths/magic_number.py | 0 .../algorithms}/maths/modular_exponential.py | 0 .../algorithms}/maths/modular_inverse.py | 0 .../algorithms}/maths/next_bigger.py | 0 .../algorithms}/maths/next_perfect_square.py | 0 .../algorithms}/maths/nth_digit.py | 0 .../algorithms}/maths/num_digits.py | 0 .../algorithms}/maths/num_perfect_squares.py | 0 .../algorithms}/maths/polynomial.py | 0 .../algorithms}/maths/power.py | 0 .../algorithms}/maths/prime_check.py | 0 .../maths/primes_sieve_of_eratosthenes.py | 0 .../algorithms}/maths/pythagoras.py | 0 .../algorithms}/maths/rabin_miller.py | 0 .../maths/recursive_binomial_coefficient.py | 0 {algorithms => docs/algorithms}/maths/rsa.py | 0 .../maths/sqrt_precision_factor.py | 0 .../algorithms}/maths/summing_digits.py | 0 .../maths/symmetry_group_cycle_index.py | 0 .../algorithms}/matrix/__init__.py | 0 .../algorithms}/matrix/bomb_enemy.py | 0 .../matrix/cholesky_matrix_decomposition.py | 0 .../algorithms}/matrix/copy_transform.py | 0 .../algorithms}/matrix/count_paths.py | 0 .../matrix/crout_matrix_decomposition.py | 0 .../matrix/matrix_exponentiation.py | 0 .../algorithms}/matrix/matrix_inversion.py | 0 .../algorithms}/matrix/multiply.py | 0 .../algorithms}/matrix/rotate_image.py | 0 .../matrix/search_in_sorted_matrix.py | 0 .../matrix/sort_matrix_diagonally.py | 0 .../algorithms}/matrix/sparse_dot_vector.py | 0 .../algorithms}/matrix/sparse_mul.py | 0 .../algorithms}/matrix/spiral_traversal.py | 0 .../algorithms}/matrix/sudoku_validator.py | 0 .../algorithms}/matrix/sum_sub_squares.py | 0 .../algorithms}/ml/nearest_neighbor.py | 0 .../algorithms}/queues/__init__.py | 0 .../algorithms}/queues/max_sliding_window.py | 0 .../algorithms}/queues/moving_average.py | 0 .../algorithms}/queues/priority_queue.py | 0 .../algorithms}/queues/queue.py | 0 .../algorithms}/queues/reconstruct_queue.py | 0 .../algorithms}/queues/zigzagiterator.py | 0 .../algorithms}/search/__init__.py | 0 .../algorithms}/search/binary_search.py | 0 .../algorithms}/search/find_min_rotate.py | 0 .../algorithms}/search/first_occurrence.py | 0 .../search/interpolation_search.py | 0 .../algorithms}/search/jump_search.py | 0 .../algorithms}/search/last_occurrence.py | 0 .../algorithms}/search/linear_search.py | 0 .../search/next_greatest_letter.py | 0 .../algorithms}/search/search_insert.py | 0 .../algorithms}/search/search_range.py | 0 .../algorithms}/search/search_rotate.py | 0 .../algorithms}/search/ternary_search.py | 0 .../algorithms}/search/two_sum.py | 0 .../algorithms}/set/__init__.py | 0 .../algorithms}/set/find_keyboard_row.py | 0 .../algorithms}/set/randomized_set.py | 0 .../algorithms}/set/set_covering.py | 0 .../algorithms}/sort/__init__.py | 0 .../algorithms}/sort/bitonic_sort.py | 0 .../algorithms}/sort/bogo_sort.py | 0 .../algorithms}/sort/bubble_sort.py | 0 .../algorithms}/sort/bucket_sort.py | 0 .../algorithms}/sort/cocktail_shaker_sort.py | 0 .../algorithms}/sort/comb_sort.py | 0 .../algorithms}/sort/counting_sort.py | 0 .../algorithms}/sort/cycle_sort.py | 0 .../algorithms}/sort/exchange_sort.py | 0 .../algorithms}/sort/gnome_sort.py | 0 .../algorithms}/sort/heap_sort.py | 0 .../algorithms}/sort/insertion_sort.py | 0 .../algorithms}/sort/meeting_rooms.py | 0 .../algorithms}/sort/merge_sort.py | 0 .../algorithms}/sort/pancake_sort.py | 0 .../algorithms}/sort/pigeonhole_sort.py | 0 .../algorithms}/sort/quick_sort.py | 0 .../algorithms}/sort/radix_sort.py | 0 .../algorithms}/sort/selection_sort.py | 0 .../algorithms}/sort/shell_sort.py | 0 .../algorithms}/sort/sort_colors.py | 0 .../algorithms}/sort/stooge_sort.py | 0 .../algorithms}/sort/top_sort.py | 0 .../algorithms}/sort/wiggle_sort.py | 0 .../algorithms}/stack/__init__.py | 0 .../algorithms}/stack/is_consecutive.py | 0 .../algorithms}/stack/is_sorted.py | 0 .../algorithms}/stack/longest_abs_path.py | 0 .../algorithms}/stack/ordered_stack.py | 0 .../algorithms}/stack/remove_min.py | 0 .../algorithms}/stack/simplify_path.py | 0 .../algorithms}/stack/stack.py | 0 .../algorithms}/stack/stutter.py | 0 .../algorithms}/stack/switch_pairs.py | 0 .../algorithms}/stack/valid_parenthesis.py | 0 .../algorithms}/streaming/__init__.py | 0 .../algorithms}/streaming/misra_gries.py | 0 .../streaming/one_sparse_recovery.py | 0 .../algorithms}/strings/__init__.py | 0 .../algorithms}/strings/add_binary.py | 0 .../algorithms}/strings/atbash_cipher.py | 0 .../algorithms}/strings/breaking_bad.py | 0 .../algorithms}/strings/caesar_cipher.py | 0 .../algorithms}/strings/check_pangram.py | 0 .../algorithms}/strings/contain_string.py | 0 .../strings/count_binary_substring.py | 0 .../algorithms}/strings/decode_string.py | 0 .../algorithms}/strings/delete_reoccurring.py | 0 .../algorithms}/strings/domain_extractor.py | 0 .../algorithms}/strings/encode_decode.py | 0 .../algorithms}/strings/first_unique_char.py | 0 .../algorithms}/strings/fizzbuzz.py | 0 .../algorithms}/strings/group_anagrams.py | 0 .../algorithms}/strings/int_to_roman.py | 0 .../algorithms}/strings/is_palindrome.py | 0 .../algorithms}/strings/is_rotated.py | 0 .../algorithms}/strings/judge_circle.py | 0 .../algorithms}/strings/knuth_morris_pratt.py | 0 .../algorithms}/strings/license_number.py | 0 .../strings/longest_common_prefix.py | 0 .../strings/longest_palindromic_substring.py | 0 .../algorithms}/strings/make_sentence.py | 0 .../strings/merge_string_checker.py | 0 .../algorithms}/strings/min_distance.py | 0 .../algorithms}/strings/multiply_strings.py | 0 .../algorithms}/strings/one_edit_distance.py | 0 .../algorithms}/strings/panagram.py | 0 .../algorithms}/strings/rabin_karp.py | 0 .../algorithms}/strings/repeat_string.py | 0 .../algorithms}/strings/repeat_substring.py | 0 .../algorithms}/strings/reverse_string.py | 0 .../algorithms}/strings/reverse_vowel.py | 0 .../algorithms}/strings/reverse_words.py | 0 .../algorithms}/strings/roman_to_int.py | 0 .../algorithms}/strings/rotate.py | 0 .../algorithms}/strings/strip_url_params.py | 0 .../algorithms}/strings/strong_password.py | 0 .../algorithms}/strings/text_justification.py | 0 .../algorithms}/strings/unique_morse.py | 0 .../strings/validate_coordinates.py | 0 .../algorithms}/strings/word_squares.py | 0 .../algorithms}/tree/__init__.py | 0 .../algorithms}/tree/avl/__init__.py | 0 .../algorithms}/tree/avl/avl.py | 0 .../algorithms}/tree/b_tree.py | 0 .../algorithms}/tree/bin_tree_to_list.py | 0 .../algorithms}/tree/binary_tree_paths.py | 0 .../algorithms}/tree/bst/BSTIterator.py | 0 .../algorithms}/tree/bst/array_to_bst.py | 0 .../algorithms}/tree/bst/bst.py | 0 .../algorithms}/tree/bst/bst_closest_value.py | 0 .../algorithms}/tree/bst/count_left_node.py | 0 .../algorithms}/tree/bst/delete_node.py | 0 .../algorithms}/tree/bst/depth_sum.py | 0 .../algorithms}/tree/bst/height.py | 0 .../algorithms}/tree/bst/is_bst.py | 0 .../algorithms}/tree/bst/kth_smallest.py | 0 .../tree/bst/lowest_common_ancestor.py | 0 .../algorithms}/tree/bst/num_empty.py | 0 .../algorithms}/tree/bst/predecessor.py | 0 .../tree/bst/serialize_deserialize.py | 0 .../algorithms}/tree/bst/successor.py | 0 .../algorithms}/tree/bst/unique_bst.py | 0 .../tree/construct_tree_postorder_preorder.py | 0 .../algorithms}/tree/deepest_left.py | 0 .../tree/fenwick_tree/fenwick_tree.py | 0 .../algorithms}/tree/invert_tree.py | 0 .../algorithms}/tree/is_balanced.py | 0 .../algorithms}/tree/is_subtree.py | 0 .../algorithms}/tree/is_symmetric.py | 0 .../algorithms}/tree/longest_consecutive.py | 0 .../tree/lowest_common_ancestor.py | 0 .../algorithms}/tree/max_height.py | 0 .../algorithms}/tree/max_path_sum.py | 0 .../algorithms}/tree/min_height.py | 0 .../algorithms}/tree/path_sum.py | 0 .../algorithms}/tree/path_sum2.py | 0 .../algorithms}/tree/pretty_print.py | 0 .../tree/red_black_tree/red_black_tree.py | 0 .../algorithms}/tree/same_tree.py | 0 .../segment_tree/iterative_segment_tree.py | 0 .../tree/segment_tree/segment_tree.py | 0 .../algorithms}/tree/traversal/__init__.py | 0 .../algorithms}/tree/traversal/inorder.py | 0 .../algorithms}/tree/traversal/level_order.py | 0 .../algorithms}/tree/traversal/postorder.py | 0 .../algorithms}/tree/traversal/preorder.py | 0 .../algorithms}/tree/traversal/zigzag.py | 0 {algorithms => docs/algorithms}/tree/tree.py | 0 .../algorithms}/tree/trie/add_and_search.py | 0 .../algorithms}/tree/trie/trie.py | 0 .../algorithms}/unionfind/count_islands.py | 0 .../algorithms}/unix/__init__.py | 0 .../algorithms}/unix/path/full_path.py | 0 .../algorithms}/unix/path/join_with_slash.py | 0 .../algorithms}/unix/path/simplify_path.py | 0 .../algorithms}/unix/path/split.py | 0 381 files changed, 31 insertions(+) rename {algorithms => docs/algorithms}/__init__.py (100%) rename {algorithms => docs/algorithms}/arrays/__init__.py (100%) rename {algorithms => docs/algorithms}/arrays/delete_nth.py (100%) rename {algorithms => docs/algorithms}/arrays/flatten.py (100%) rename {algorithms => docs/algorithms}/arrays/garage.py (100%) rename {algorithms => docs/algorithms}/arrays/josephus.py (100%) rename {algorithms => docs/algorithms}/arrays/limit.py (100%) rename {algorithms => docs/algorithms}/arrays/longest_non_repeat.py (100%) rename {algorithms => docs/algorithms}/arrays/max_ones_index.py (100%) rename {algorithms => docs/algorithms}/arrays/merge_intervals.py (100%) rename {algorithms => docs/algorithms}/arrays/missing_ranges.py (100%) rename {algorithms => docs/algorithms}/arrays/move_zeros.py (100%) rename {algorithms => docs/algorithms}/arrays/n_sum.py (100%) rename {algorithms => docs/algorithms}/arrays/plus_one.py (100%) rename {algorithms => docs/algorithms}/arrays/remove_duplicates.py (100%) rename {algorithms => docs/algorithms}/arrays/rotate.py (100%) rename {algorithms => docs/algorithms}/arrays/summarize_ranges.py (100%) rename {algorithms => docs/algorithms}/arrays/three_sum.py (100%) create mode 100644 docs/algorithms/arrays/three_sums.py rename {algorithms => docs/algorithms}/arrays/top_1.py (100%) rename {algorithms => docs/algorithms}/arrays/trimmean.py (100%) rename {algorithms => docs/algorithms}/arrays/two_sum.py (100%) rename {algorithms => docs/algorithms}/automata/__init__.py (100%) rename {algorithms => docs/algorithms}/automata/dfa.py (100%) rename {algorithms => docs/algorithms}/backtrack/__init__.py (100%) rename {algorithms => docs/algorithms}/backtrack/add_operators.py (100%) rename {algorithms => docs/algorithms}/backtrack/anagram.py (100%) rename {algorithms => docs/algorithms}/backtrack/array_sum_combinations.py (100%) rename {algorithms => docs/algorithms}/backtrack/combination_sum.py (100%) rename {algorithms => docs/algorithms}/backtrack/factor_combinations.py (100%) rename {algorithms => docs/algorithms}/backtrack/find_words.py (100%) rename {algorithms => docs/algorithms}/backtrack/generate_abbreviations.py (100%) rename {algorithms => docs/algorithms}/backtrack/generate_parenthesis.py (100%) rename {algorithms => docs/algorithms}/backtrack/letter_combination.py (100%) rename {algorithms => docs/algorithms}/backtrack/palindrome_partitioning.py (100%) rename {algorithms => docs/algorithms}/backtrack/pattern_match.py (100%) rename {algorithms => docs/algorithms}/backtrack/permute.py (100%) rename {algorithms => docs/algorithms}/backtrack/permute_unique.py (100%) rename {algorithms => docs/algorithms}/backtrack/subsets.py (100%) rename {algorithms => docs/algorithms}/backtrack/subsets_unique.py (100%) rename {algorithms => docs/algorithms}/bfs/__init__.py (100%) rename {algorithms => docs/algorithms}/bfs/count_islands.py (100%) rename {algorithms => docs/algorithms}/bfs/maze_search.py (100%) rename {algorithms => docs/algorithms}/bfs/shortest_distance_from_all_buildings.py (100%) rename {algorithms => docs/algorithms}/bfs/word_ladder.py (100%) rename {algorithms => docs/algorithms}/bit/__init__.py (100%) rename {algorithms => docs/algorithms}/bit/add_bitwise_operator.py (100%) rename {algorithms => docs/algorithms}/bit/binary_gap.py (100%) rename {algorithms => docs/algorithms}/bit/bit_operation.py (100%) rename {algorithms => docs/algorithms}/bit/bytes_int_conversion.py (100%) rename {algorithms => docs/algorithms}/bit/count_flips_to_convert.py (100%) rename {algorithms => docs/algorithms}/bit/count_ones.py (100%) rename {algorithms => docs/algorithms}/bit/find_difference.py (100%) rename {algorithms => docs/algorithms}/bit/find_missing_number.py (100%) rename {algorithms => docs/algorithms}/bit/flip_bit_longest_sequence.py (100%) rename {algorithms => docs/algorithms}/bit/has_alternative_bit.py (100%) rename {algorithms => docs/algorithms}/bit/insert_bit.py (100%) rename {algorithms => docs/algorithms}/bit/power_of_two.py (100%) rename {algorithms => docs/algorithms}/bit/remove_bit.py (100%) rename {algorithms => docs/algorithms}/bit/reverse_bits.py (100%) rename {algorithms => docs/algorithms}/bit/single_number.py (100%) rename {algorithms => docs/algorithms}/bit/single_number2.py (100%) rename {algorithms => docs/algorithms}/bit/single_number3.py (100%) rename {algorithms => docs/algorithms}/bit/subsets.py (100%) rename {algorithms => docs/algorithms}/bit/swap_pair.py (100%) rename {algorithms => docs/algorithms}/compression/__init__.py (100%) rename {algorithms => docs/algorithms}/compression/elias.py (100%) rename {algorithms => docs/algorithms}/compression/huffman_coding.py (100%) rename {algorithms => docs/algorithms}/compression/rle_compression.py (100%) rename {algorithms => docs/algorithms}/dfs/__init__.py (100%) rename {algorithms => docs/algorithms}/dfs/all_factors.py (100%) rename {algorithms => docs/algorithms}/dfs/count_islands.py (100%) rename {algorithms => docs/algorithms}/dfs/maze_search.py (100%) rename {algorithms => docs/algorithms}/dfs/pacific_atlantic.py (100%) rename {algorithms => docs/algorithms}/dfs/sudoku_solver.py (100%) rename {algorithms => docs/algorithms}/dfs/walls_and_gates.py (100%) rename {algorithms => docs/algorithms}/distribution/__init__.py (100%) rename {algorithms => docs/algorithms}/distribution/histogram.py (100%) rename {algorithms => docs/algorithms}/dp/__init__.py (100%) rename {algorithms => docs/algorithms}/dp/buy_sell_stock.py (100%) rename {algorithms => docs/algorithms}/dp/climbing_stairs.py (100%) rename {algorithms => docs/algorithms}/dp/coin_change.py (100%) rename {algorithms => docs/algorithms}/dp/combination_sum.py (100%) rename {algorithms => docs/algorithms}/dp/edit_distance.py (100%) rename {algorithms => docs/algorithms}/dp/egg_drop.py (100%) rename {algorithms => docs/algorithms}/dp/fib.py (100%) rename {algorithms => docs/algorithms}/dp/hosoya_triangle.py (100%) rename {algorithms => docs/algorithms}/dp/house_robber.py (100%) rename {algorithms => docs/algorithms}/dp/int_divide.py (100%) rename {algorithms => docs/algorithms}/dp/job_scheduling.py (100%) rename {algorithms => docs/algorithms}/dp/k_factor.py (100%) rename {algorithms => docs/algorithms}/dp/knapsack.py (100%) rename {algorithms => docs/algorithms}/dp/longest_common_subsequence.py (100%) rename {algorithms => docs/algorithms}/dp/longest_increasing.py (100%) rename {algorithms => docs/algorithms}/dp/matrix_chain_order.py (100%) rename {algorithms => docs/algorithms}/dp/max_product_subarray.py (100%) rename {algorithms => docs/algorithms}/dp/max_subarray.py (100%) rename {algorithms => docs/algorithms}/dp/min_cost_path.py (100%) rename {algorithms => docs/algorithms}/dp/num_decodings.py (100%) rename {algorithms => docs/algorithms}/dp/planting_trees.py (100%) rename {algorithms => docs/algorithms}/dp/regex_matching.py (100%) rename {algorithms => docs/algorithms}/dp/rod_cut.py (100%) rename {algorithms => docs/algorithms}/dp/word_break.py (100%) rename {algorithms => docs/algorithms}/graph/__init__.py (100%) rename {algorithms => docs/algorithms}/graph/all_pairs_shortest_path.py (100%) rename {algorithms => docs/algorithms}/graph/bellman_ford.py (100%) rename {algorithms => docs/algorithms}/graph/check_bipartite.py (100%) rename {algorithms => docs/algorithms}/graph/check_digraph_strongly_connected.py (100%) rename {algorithms => docs/algorithms}/graph/clone_graph.py (100%) rename {algorithms => docs/algorithms}/graph/count_connected_number_of_component.py (100%) rename {algorithms => docs/algorithms}/graph/cycle_detection.py (100%) rename {algorithms => docs/algorithms}/graph/dijkstra.py (100%) rename {algorithms => docs/algorithms}/graph/find_all_cliques.py (100%) rename {algorithms => docs/algorithms}/graph/find_path.py (100%) rename {algorithms => docs/algorithms}/graph/graph.py (100%) rename {algorithms => docs/algorithms}/graph/markov_chain.py (100%) rename {algorithms => docs/algorithms}/graph/maximum_flow.py (100%) rename {algorithms => docs/algorithms}/graph/maximum_flow_bfs.py (100%) rename {algorithms => docs/algorithms}/graph/maximum_flow_dfs.py (100%) rename {algorithms => docs/algorithms}/graph/minimum_spanning_tree.py (100%) rename {algorithms => docs/algorithms}/graph/path_between_two_vertices_in_digraph.py (100%) rename {algorithms => docs/algorithms}/graph/prims_minimum_spanning.py (100%) rename {algorithms => docs/algorithms}/graph/satisfiability.py (100%) rename {algorithms => docs/algorithms}/graph/strongly_connected_components_kosaraju.py (100%) rename {algorithms => docs/algorithms}/graph/tarjan.py (100%) rename {algorithms => docs/algorithms}/graph/transitive_closure_dfs.py (100%) rename {algorithms => docs/algorithms}/graph/traversal.py (100%) rename {algorithms => docs/algorithms}/greedy/__init__.py (100%) rename {algorithms => docs/algorithms}/greedy/max_contiguous_subsequence_sum.py (100%) rename {algorithms => docs/algorithms}/heap/__init__.py (100%) rename {algorithms => docs/algorithms}/heap/binary_heap.py (100%) rename {algorithms => docs/algorithms}/heap/k_closest_points.py (100%) rename {algorithms => docs/algorithms}/heap/merge_sorted_k_lists.py (100%) rename {algorithms => docs/algorithms}/heap/skyline.py (100%) rename {algorithms => docs/algorithms}/heap/sliding_window_max.py (100%) rename {algorithms => docs/algorithms}/linkedlist/__init__.py (100%) rename {algorithms => docs/algorithms}/linkedlist/add_two_numbers.py (100%) rename {algorithms => docs/algorithms}/linkedlist/copy_random_pointer.py (100%) rename {algorithms => docs/algorithms}/linkedlist/delete_node.py (100%) rename {algorithms => docs/algorithms}/linkedlist/first_cyclic_node.py (100%) rename {algorithms => docs/algorithms}/linkedlist/intersection.py (100%) rename {algorithms => docs/algorithms}/linkedlist/is_cyclic.py (100%) rename {algorithms => docs/algorithms}/linkedlist/is_palindrome.py (100%) rename {algorithms => docs/algorithms}/linkedlist/is_sorted.py (100%) rename {algorithms => docs/algorithms}/linkedlist/kth_to_last.py (100%) rename {algorithms => docs/algorithms}/linkedlist/linkedlist.py (100%) rename {algorithms => docs/algorithms}/linkedlist/merge_two_list.py (100%) rename {algorithms => docs/algorithms}/linkedlist/partition.py (100%) rename {algorithms => docs/algorithms}/linkedlist/remove_duplicates.py (100%) rename {algorithms => docs/algorithms}/linkedlist/remove_range.py (100%) rename {algorithms => docs/algorithms}/linkedlist/reverse.py (100%) rename {algorithms => docs/algorithms}/linkedlist/rotate_list.py (100%) rename {algorithms => docs/algorithms}/linkedlist/swap_in_pairs.py (100%) rename {algorithms => docs/algorithms}/map/__init__.py (100%) rename {algorithms => docs/algorithms}/map/hashtable.py (100%) rename {algorithms => docs/algorithms}/map/is_anagram.py (100%) rename {algorithms => docs/algorithms}/map/is_isomorphic.py (100%) rename {algorithms => docs/algorithms}/map/longest_common_subsequence.py (100%) rename {algorithms => docs/algorithms}/map/longest_palindromic_subsequence.py (100%) rename {algorithms => docs/algorithms}/map/randomized_set.py (100%) rename {algorithms => docs/algorithms}/map/separate_chaining_hashtable.py (100%) rename {algorithms => docs/algorithms}/map/valid_sudoku.py (100%) rename {algorithms => docs/algorithms}/map/word_pattern.py (100%) rename {algorithms => docs/algorithms}/maths/__init__.py (100%) rename {algorithms => docs/algorithms}/maths/base_conversion.py (100%) rename {algorithms => docs/algorithms}/maths/chinese_remainder_theorem.py (100%) rename {algorithms => docs/algorithms}/maths/combination.py (100%) rename {algorithms => docs/algorithms}/maths/cosine_similarity.py (100%) rename {algorithms => docs/algorithms}/maths/decimal_to_binary_ip.py (100%) rename {algorithms => docs/algorithms}/maths/diffie_hellman_key_exchange.py (100%) rename {algorithms => docs/algorithms}/maths/euler_totient.py (100%) rename {algorithms => docs/algorithms}/maths/extended_gcd.py (100%) rename {algorithms => docs/algorithms}/maths/factorial.py (100%) rename {algorithms => docs/algorithms}/maths/fft.py (100%) rename {algorithms => docs/algorithms}/maths/find_order_simple.py (100%) rename {algorithms => docs/algorithms}/maths/find_primitive_root_simple.py (100%) rename {algorithms => docs/algorithms}/maths/gcd.py (100%) rename {algorithms => docs/algorithms}/maths/generate_strobogrammtic.py (100%) rename {algorithms => docs/algorithms}/maths/hailstone.py (100%) rename {algorithms => docs/algorithms}/maths/is_strobogrammatic.py (100%) rename {algorithms => docs/algorithms}/maths/krishnamurthy_number.py (100%) rename {algorithms => docs/algorithms}/maths/magic_number.py (100%) rename {algorithms => docs/algorithms}/maths/modular_exponential.py (100%) rename {algorithms => docs/algorithms}/maths/modular_inverse.py (100%) rename {algorithms => docs/algorithms}/maths/next_bigger.py (100%) rename {algorithms => docs/algorithms}/maths/next_perfect_square.py (100%) rename {algorithms => docs/algorithms}/maths/nth_digit.py (100%) rename {algorithms => docs/algorithms}/maths/num_digits.py (100%) rename {algorithms => docs/algorithms}/maths/num_perfect_squares.py (100%) rename {algorithms => docs/algorithms}/maths/polynomial.py (100%) rename {algorithms => docs/algorithms}/maths/power.py (100%) rename {algorithms => docs/algorithms}/maths/prime_check.py (100%) rename {algorithms => docs/algorithms}/maths/primes_sieve_of_eratosthenes.py (100%) rename {algorithms => docs/algorithms}/maths/pythagoras.py (100%) rename {algorithms => docs/algorithms}/maths/rabin_miller.py (100%) rename {algorithms => docs/algorithms}/maths/recursive_binomial_coefficient.py (100%) rename {algorithms => docs/algorithms}/maths/rsa.py (100%) rename {algorithms => docs/algorithms}/maths/sqrt_precision_factor.py (100%) rename {algorithms => docs/algorithms}/maths/summing_digits.py (100%) rename {algorithms => docs/algorithms}/maths/symmetry_group_cycle_index.py (100%) rename {algorithms => docs/algorithms}/matrix/__init__.py (100%) rename {algorithms => docs/algorithms}/matrix/bomb_enemy.py (100%) rename {algorithms => docs/algorithms}/matrix/cholesky_matrix_decomposition.py (100%) rename {algorithms => docs/algorithms}/matrix/copy_transform.py (100%) rename {algorithms => docs/algorithms}/matrix/count_paths.py (100%) rename {algorithms => docs/algorithms}/matrix/crout_matrix_decomposition.py (100%) rename {algorithms => docs/algorithms}/matrix/matrix_exponentiation.py (100%) rename {algorithms => docs/algorithms}/matrix/matrix_inversion.py (100%) rename {algorithms => docs/algorithms}/matrix/multiply.py (100%) rename {algorithms => docs/algorithms}/matrix/rotate_image.py (100%) rename {algorithms => docs/algorithms}/matrix/search_in_sorted_matrix.py (100%) rename {algorithms => docs/algorithms}/matrix/sort_matrix_diagonally.py (100%) rename {algorithms => docs/algorithms}/matrix/sparse_dot_vector.py (100%) rename {algorithms => docs/algorithms}/matrix/sparse_mul.py (100%) rename {algorithms => docs/algorithms}/matrix/spiral_traversal.py (100%) rename {algorithms => docs/algorithms}/matrix/sudoku_validator.py (100%) rename {algorithms => docs/algorithms}/matrix/sum_sub_squares.py (100%) rename {algorithms => docs/algorithms}/ml/nearest_neighbor.py (100%) rename {algorithms => docs/algorithms}/queues/__init__.py (100%) rename {algorithms => docs/algorithms}/queues/max_sliding_window.py (100%) rename {algorithms => docs/algorithms}/queues/moving_average.py (100%) rename {algorithms => docs/algorithms}/queues/priority_queue.py (100%) rename {algorithms => docs/algorithms}/queues/queue.py (100%) rename {algorithms => docs/algorithms}/queues/reconstruct_queue.py (100%) rename {algorithms => docs/algorithms}/queues/zigzagiterator.py (100%) rename {algorithms => docs/algorithms}/search/__init__.py (100%) rename {algorithms => docs/algorithms}/search/binary_search.py (100%) rename {algorithms => docs/algorithms}/search/find_min_rotate.py (100%) rename {algorithms => docs/algorithms}/search/first_occurrence.py (100%) rename {algorithms => docs/algorithms}/search/interpolation_search.py (100%) rename {algorithms => docs/algorithms}/search/jump_search.py (100%) rename {algorithms => docs/algorithms}/search/last_occurrence.py (100%) rename {algorithms => docs/algorithms}/search/linear_search.py (100%) rename {algorithms => docs/algorithms}/search/next_greatest_letter.py (100%) rename {algorithms => docs/algorithms}/search/search_insert.py (100%) rename {algorithms => docs/algorithms}/search/search_range.py (100%) rename {algorithms => docs/algorithms}/search/search_rotate.py (100%) rename {algorithms => docs/algorithms}/search/ternary_search.py (100%) rename {algorithms => docs/algorithms}/search/two_sum.py (100%) rename {algorithms => docs/algorithms}/set/__init__.py (100%) rename {algorithms => docs/algorithms}/set/find_keyboard_row.py (100%) rename {algorithms => docs/algorithms}/set/randomized_set.py (100%) rename {algorithms => docs/algorithms}/set/set_covering.py (100%) rename {algorithms => docs/algorithms}/sort/__init__.py (100%) rename {algorithms => docs/algorithms}/sort/bitonic_sort.py (100%) rename {algorithms => docs/algorithms}/sort/bogo_sort.py (100%) rename {algorithms => docs/algorithms}/sort/bubble_sort.py (100%) rename {algorithms => docs/algorithms}/sort/bucket_sort.py (100%) rename {algorithms => docs/algorithms}/sort/cocktail_shaker_sort.py (100%) rename {algorithms => docs/algorithms}/sort/comb_sort.py (100%) rename {algorithms => docs/algorithms}/sort/counting_sort.py (100%) rename {algorithms => docs/algorithms}/sort/cycle_sort.py (100%) rename {algorithms => docs/algorithms}/sort/exchange_sort.py (100%) rename {algorithms => docs/algorithms}/sort/gnome_sort.py (100%) rename {algorithms => docs/algorithms}/sort/heap_sort.py (100%) rename {algorithms => docs/algorithms}/sort/insertion_sort.py (100%) rename {algorithms => docs/algorithms}/sort/meeting_rooms.py (100%) rename {algorithms => docs/algorithms}/sort/merge_sort.py (100%) rename {algorithms => docs/algorithms}/sort/pancake_sort.py (100%) rename {algorithms => docs/algorithms}/sort/pigeonhole_sort.py (100%) rename {algorithms => docs/algorithms}/sort/quick_sort.py (100%) rename {algorithms => docs/algorithms}/sort/radix_sort.py (100%) rename {algorithms => docs/algorithms}/sort/selection_sort.py (100%) rename {algorithms => docs/algorithms}/sort/shell_sort.py (100%) rename {algorithms => docs/algorithms}/sort/sort_colors.py (100%) rename {algorithms => docs/algorithms}/sort/stooge_sort.py (100%) rename {algorithms => docs/algorithms}/sort/top_sort.py (100%) rename {algorithms => docs/algorithms}/sort/wiggle_sort.py (100%) rename {algorithms => docs/algorithms}/stack/__init__.py (100%) rename {algorithms => docs/algorithms}/stack/is_consecutive.py (100%) rename {algorithms => docs/algorithms}/stack/is_sorted.py (100%) rename {algorithms => docs/algorithms}/stack/longest_abs_path.py (100%) rename {algorithms => docs/algorithms}/stack/ordered_stack.py (100%) rename {algorithms => docs/algorithms}/stack/remove_min.py (100%) rename {algorithms => docs/algorithms}/stack/simplify_path.py (100%) rename {algorithms => docs/algorithms}/stack/stack.py (100%) rename {algorithms => docs/algorithms}/stack/stutter.py (100%) rename {algorithms => docs/algorithms}/stack/switch_pairs.py (100%) rename {algorithms => docs/algorithms}/stack/valid_parenthesis.py (100%) rename {algorithms => docs/algorithms}/streaming/__init__.py (100%) rename {algorithms => docs/algorithms}/streaming/misra_gries.py (100%) rename {algorithms => docs/algorithms}/streaming/one_sparse_recovery.py (100%) rename {algorithms => docs/algorithms}/strings/__init__.py (100%) rename {algorithms => docs/algorithms}/strings/add_binary.py (100%) rename {algorithms => docs/algorithms}/strings/atbash_cipher.py (100%) rename {algorithms => docs/algorithms}/strings/breaking_bad.py (100%) rename {algorithms => docs/algorithms}/strings/caesar_cipher.py (100%) rename {algorithms => docs/algorithms}/strings/check_pangram.py (100%) rename {algorithms => docs/algorithms}/strings/contain_string.py (100%) rename {algorithms => docs/algorithms}/strings/count_binary_substring.py (100%) rename {algorithms => docs/algorithms}/strings/decode_string.py (100%) rename {algorithms => docs/algorithms}/strings/delete_reoccurring.py (100%) rename {algorithms => docs/algorithms}/strings/domain_extractor.py (100%) rename {algorithms => docs/algorithms}/strings/encode_decode.py (100%) rename {algorithms => docs/algorithms}/strings/first_unique_char.py (100%) rename {algorithms => docs/algorithms}/strings/fizzbuzz.py (100%) rename {algorithms => docs/algorithms}/strings/group_anagrams.py (100%) rename {algorithms => docs/algorithms}/strings/int_to_roman.py (100%) rename {algorithms => docs/algorithms}/strings/is_palindrome.py (100%) rename {algorithms => docs/algorithms}/strings/is_rotated.py (100%) rename {algorithms => docs/algorithms}/strings/judge_circle.py (100%) rename {algorithms => docs/algorithms}/strings/knuth_morris_pratt.py (100%) rename {algorithms => docs/algorithms}/strings/license_number.py (100%) rename {algorithms => docs/algorithms}/strings/longest_common_prefix.py (100%) rename {algorithms => docs/algorithms}/strings/longest_palindromic_substring.py (100%) rename {algorithms => docs/algorithms}/strings/make_sentence.py (100%) rename {algorithms => docs/algorithms}/strings/merge_string_checker.py (100%) rename {algorithms => docs/algorithms}/strings/min_distance.py (100%) rename {algorithms => docs/algorithms}/strings/multiply_strings.py (100%) rename {algorithms => docs/algorithms}/strings/one_edit_distance.py (100%) rename {algorithms => docs/algorithms}/strings/panagram.py (100%) rename {algorithms => docs/algorithms}/strings/rabin_karp.py (100%) rename {algorithms => docs/algorithms}/strings/repeat_string.py (100%) rename {algorithms => docs/algorithms}/strings/repeat_substring.py (100%) rename {algorithms => docs/algorithms}/strings/reverse_string.py (100%) rename {algorithms => docs/algorithms}/strings/reverse_vowel.py (100%) rename {algorithms => docs/algorithms}/strings/reverse_words.py (100%) rename {algorithms => docs/algorithms}/strings/roman_to_int.py (100%) rename {algorithms => docs/algorithms}/strings/rotate.py (100%) rename {algorithms => docs/algorithms}/strings/strip_url_params.py (100%) rename {algorithms => docs/algorithms}/strings/strong_password.py (100%) rename {algorithms => docs/algorithms}/strings/text_justification.py (100%) rename {algorithms => docs/algorithms}/strings/unique_morse.py (100%) rename {algorithms => docs/algorithms}/strings/validate_coordinates.py (100%) rename {algorithms => docs/algorithms}/strings/word_squares.py (100%) rename {algorithms => docs/algorithms}/tree/__init__.py (100%) rename {algorithms => docs/algorithms}/tree/avl/__init__.py (100%) rename {algorithms => docs/algorithms}/tree/avl/avl.py (100%) rename {algorithms => docs/algorithms}/tree/b_tree.py (100%) rename {algorithms => docs/algorithms}/tree/bin_tree_to_list.py (100%) rename {algorithms => docs/algorithms}/tree/binary_tree_paths.py (100%) rename {algorithms => docs/algorithms}/tree/bst/BSTIterator.py (100%) rename {algorithms => docs/algorithms}/tree/bst/array_to_bst.py (100%) rename {algorithms => docs/algorithms}/tree/bst/bst.py (100%) rename {algorithms => docs/algorithms}/tree/bst/bst_closest_value.py (100%) rename {algorithms => docs/algorithms}/tree/bst/count_left_node.py (100%) rename {algorithms => docs/algorithms}/tree/bst/delete_node.py (100%) rename {algorithms => docs/algorithms}/tree/bst/depth_sum.py (100%) rename {algorithms => docs/algorithms}/tree/bst/height.py (100%) rename {algorithms => docs/algorithms}/tree/bst/is_bst.py (100%) rename {algorithms => docs/algorithms}/tree/bst/kth_smallest.py (100%) rename {algorithms => docs/algorithms}/tree/bst/lowest_common_ancestor.py (100%) rename {algorithms => docs/algorithms}/tree/bst/num_empty.py (100%) rename {algorithms => docs/algorithms}/tree/bst/predecessor.py (100%) rename {algorithms => docs/algorithms}/tree/bst/serialize_deserialize.py (100%) rename {algorithms => docs/algorithms}/tree/bst/successor.py (100%) rename {algorithms => docs/algorithms}/tree/bst/unique_bst.py (100%) rename {algorithms => docs/algorithms}/tree/construct_tree_postorder_preorder.py (100%) rename {algorithms => docs/algorithms}/tree/deepest_left.py (100%) rename {algorithms => docs/algorithms}/tree/fenwick_tree/fenwick_tree.py (100%) rename {algorithms => docs/algorithms}/tree/invert_tree.py (100%) rename {algorithms => docs/algorithms}/tree/is_balanced.py (100%) rename {algorithms => docs/algorithms}/tree/is_subtree.py (100%) rename {algorithms => docs/algorithms}/tree/is_symmetric.py (100%) rename {algorithms => docs/algorithms}/tree/longest_consecutive.py (100%) rename {algorithms => docs/algorithms}/tree/lowest_common_ancestor.py (100%) rename {algorithms => docs/algorithms}/tree/max_height.py (100%) rename {algorithms => docs/algorithms}/tree/max_path_sum.py (100%) rename {algorithms => docs/algorithms}/tree/min_height.py (100%) rename {algorithms => docs/algorithms}/tree/path_sum.py (100%) rename {algorithms => docs/algorithms}/tree/path_sum2.py (100%) rename {algorithms => docs/algorithms}/tree/pretty_print.py (100%) rename {algorithms => docs/algorithms}/tree/red_black_tree/red_black_tree.py (100%) rename {algorithms => docs/algorithms}/tree/same_tree.py (100%) rename {algorithms => docs/algorithms}/tree/segment_tree/iterative_segment_tree.py (100%) rename {algorithms => docs/algorithms}/tree/segment_tree/segment_tree.py (100%) rename {algorithms => docs/algorithms}/tree/traversal/__init__.py (100%) rename {algorithms => docs/algorithms}/tree/traversal/inorder.py (100%) rename {algorithms => docs/algorithms}/tree/traversal/level_order.py (100%) rename {algorithms => docs/algorithms}/tree/traversal/postorder.py (100%) rename {algorithms => docs/algorithms}/tree/traversal/preorder.py (100%) rename {algorithms => docs/algorithms}/tree/traversal/zigzag.py (100%) rename {algorithms => docs/algorithms}/tree/tree.py (100%) rename {algorithms => docs/algorithms}/tree/trie/add_and_search.py (100%) rename {algorithms => docs/algorithms}/tree/trie/trie.py (100%) rename {algorithms => docs/algorithms}/unionfind/count_islands.py (100%) rename {algorithms => docs/algorithms}/unix/__init__.py (100%) rename {algorithms => docs/algorithms}/unix/path/full_path.py (100%) rename {algorithms => docs/algorithms}/unix/path/join_with_slash.py (100%) rename {algorithms => docs/algorithms}/unix/path/simplify_path.py (100%) rename {algorithms => docs/algorithms}/unix/path/split.py (100%) diff --git a/algorithms/__init__.py b/docs/algorithms/__init__.py similarity index 100% rename from algorithms/__init__.py rename to docs/algorithms/__init__.py diff --git a/algorithms/arrays/__init__.py b/docs/algorithms/arrays/__init__.py similarity index 100% rename from algorithms/arrays/__init__.py rename to docs/algorithms/arrays/__init__.py diff --git a/algorithms/arrays/delete_nth.py b/docs/algorithms/arrays/delete_nth.py similarity index 100% rename from algorithms/arrays/delete_nth.py rename to docs/algorithms/arrays/delete_nth.py diff --git a/algorithms/arrays/flatten.py b/docs/algorithms/arrays/flatten.py similarity index 100% rename from algorithms/arrays/flatten.py rename to docs/algorithms/arrays/flatten.py diff --git a/algorithms/arrays/garage.py b/docs/algorithms/arrays/garage.py similarity index 100% rename from algorithms/arrays/garage.py rename to docs/algorithms/arrays/garage.py diff --git a/algorithms/arrays/josephus.py b/docs/algorithms/arrays/josephus.py similarity index 100% rename from algorithms/arrays/josephus.py rename to docs/algorithms/arrays/josephus.py diff --git a/algorithms/arrays/limit.py b/docs/algorithms/arrays/limit.py similarity index 100% rename from algorithms/arrays/limit.py rename to docs/algorithms/arrays/limit.py diff --git a/algorithms/arrays/longest_non_repeat.py b/docs/algorithms/arrays/longest_non_repeat.py similarity index 100% rename from algorithms/arrays/longest_non_repeat.py rename to docs/algorithms/arrays/longest_non_repeat.py diff --git a/algorithms/arrays/max_ones_index.py b/docs/algorithms/arrays/max_ones_index.py similarity index 100% rename from algorithms/arrays/max_ones_index.py rename to docs/algorithms/arrays/max_ones_index.py diff --git a/algorithms/arrays/merge_intervals.py b/docs/algorithms/arrays/merge_intervals.py similarity index 100% rename from algorithms/arrays/merge_intervals.py rename to docs/algorithms/arrays/merge_intervals.py diff --git a/algorithms/arrays/missing_ranges.py b/docs/algorithms/arrays/missing_ranges.py similarity index 100% rename from algorithms/arrays/missing_ranges.py rename to docs/algorithms/arrays/missing_ranges.py diff --git a/algorithms/arrays/move_zeros.py b/docs/algorithms/arrays/move_zeros.py similarity index 100% rename from algorithms/arrays/move_zeros.py rename to docs/algorithms/arrays/move_zeros.py diff --git a/algorithms/arrays/n_sum.py b/docs/algorithms/arrays/n_sum.py similarity index 100% rename from algorithms/arrays/n_sum.py rename to docs/algorithms/arrays/n_sum.py diff --git a/algorithms/arrays/plus_one.py b/docs/algorithms/arrays/plus_one.py similarity index 100% rename from algorithms/arrays/plus_one.py rename to docs/algorithms/arrays/plus_one.py diff --git a/algorithms/arrays/remove_duplicates.py b/docs/algorithms/arrays/remove_duplicates.py similarity index 100% rename from algorithms/arrays/remove_duplicates.py rename to docs/algorithms/arrays/remove_duplicates.py diff --git a/algorithms/arrays/rotate.py b/docs/algorithms/arrays/rotate.py similarity index 100% rename from algorithms/arrays/rotate.py rename to docs/algorithms/arrays/rotate.py diff --git a/algorithms/arrays/summarize_ranges.py b/docs/algorithms/arrays/summarize_ranges.py similarity index 100% rename from algorithms/arrays/summarize_ranges.py rename to docs/algorithms/arrays/summarize_ranges.py diff --git a/algorithms/arrays/three_sum.py b/docs/algorithms/arrays/three_sum.py similarity index 100% rename from algorithms/arrays/three_sum.py rename to docs/algorithms/arrays/three_sum.py diff --git a/docs/algorithms/arrays/three_sums.py b/docs/algorithms/arrays/three_sums.py new file mode 100644 index 000000000..5bb9b84f3 --- /dev/null +++ b/docs/algorithms/arrays/three_sums.py @@ -0,0 +1,31 @@ +#this code is provided by a youtuber ALGOENGINE + +class Solution: + def threeSum(self, nums: List[int]) -> List[List[int]]: + nums.sort() # this sorts the array + answer = [] # this stores the triplets + + for i in range(len(nums)-2): #here we have to iterate last second elemnt because of triplet condition + if i > 0 and nums[i] == nums[i-1]: # this will move the i pointer from the current pointer to next to run the + continue + + l = i + 1 # here we are using three pointer so this is second pointer + r = len(nums) - 1 # here we assigning third pointer but this is at end + + while l < r: + total = nums[i] + nums[l] + nums[r] # this one adds the number which are pointed by the pointers + + if total < 0: + l += 1 + elif total > 0: + r -= 1 + else: + triplet = [nums[i], nums[l], nums[r]] + answer.append(triplet) + + while l < r and nums[l] == triplet[1]: + l += 1 + while l < r and nums[r] == triplet[2]: + r -= 1 + + return answer \ No newline at end of file diff --git a/algorithms/arrays/top_1.py b/docs/algorithms/arrays/top_1.py similarity index 100% rename from algorithms/arrays/top_1.py rename to docs/algorithms/arrays/top_1.py diff --git a/algorithms/arrays/trimmean.py b/docs/algorithms/arrays/trimmean.py similarity index 100% rename from algorithms/arrays/trimmean.py rename to docs/algorithms/arrays/trimmean.py diff --git a/algorithms/arrays/two_sum.py b/docs/algorithms/arrays/two_sum.py similarity index 100% rename from algorithms/arrays/two_sum.py rename to docs/algorithms/arrays/two_sum.py diff --git a/algorithms/automata/__init__.py b/docs/algorithms/automata/__init__.py similarity index 100% rename from algorithms/automata/__init__.py rename to docs/algorithms/automata/__init__.py diff --git a/algorithms/automata/dfa.py b/docs/algorithms/automata/dfa.py similarity index 100% rename from algorithms/automata/dfa.py rename to docs/algorithms/automata/dfa.py diff --git a/algorithms/backtrack/__init__.py b/docs/algorithms/backtrack/__init__.py similarity index 100% rename from algorithms/backtrack/__init__.py rename to docs/algorithms/backtrack/__init__.py diff --git a/algorithms/backtrack/add_operators.py b/docs/algorithms/backtrack/add_operators.py similarity index 100% rename from algorithms/backtrack/add_operators.py rename to docs/algorithms/backtrack/add_operators.py diff --git a/algorithms/backtrack/anagram.py b/docs/algorithms/backtrack/anagram.py similarity index 100% rename from algorithms/backtrack/anagram.py rename to docs/algorithms/backtrack/anagram.py diff --git a/algorithms/backtrack/array_sum_combinations.py b/docs/algorithms/backtrack/array_sum_combinations.py similarity index 100% rename from algorithms/backtrack/array_sum_combinations.py rename to docs/algorithms/backtrack/array_sum_combinations.py diff --git a/algorithms/backtrack/combination_sum.py b/docs/algorithms/backtrack/combination_sum.py similarity index 100% rename from algorithms/backtrack/combination_sum.py rename to docs/algorithms/backtrack/combination_sum.py diff --git a/algorithms/backtrack/factor_combinations.py b/docs/algorithms/backtrack/factor_combinations.py similarity index 100% rename from algorithms/backtrack/factor_combinations.py rename to docs/algorithms/backtrack/factor_combinations.py diff --git a/algorithms/backtrack/find_words.py b/docs/algorithms/backtrack/find_words.py similarity index 100% rename from algorithms/backtrack/find_words.py rename to docs/algorithms/backtrack/find_words.py diff --git a/algorithms/backtrack/generate_abbreviations.py b/docs/algorithms/backtrack/generate_abbreviations.py similarity index 100% rename from algorithms/backtrack/generate_abbreviations.py rename to docs/algorithms/backtrack/generate_abbreviations.py diff --git a/algorithms/backtrack/generate_parenthesis.py b/docs/algorithms/backtrack/generate_parenthesis.py similarity index 100% rename from algorithms/backtrack/generate_parenthesis.py rename to docs/algorithms/backtrack/generate_parenthesis.py diff --git a/algorithms/backtrack/letter_combination.py b/docs/algorithms/backtrack/letter_combination.py similarity index 100% rename from algorithms/backtrack/letter_combination.py rename to docs/algorithms/backtrack/letter_combination.py diff --git a/algorithms/backtrack/palindrome_partitioning.py b/docs/algorithms/backtrack/palindrome_partitioning.py similarity index 100% rename from algorithms/backtrack/palindrome_partitioning.py rename to docs/algorithms/backtrack/palindrome_partitioning.py diff --git a/algorithms/backtrack/pattern_match.py b/docs/algorithms/backtrack/pattern_match.py similarity index 100% rename from algorithms/backtrack/pattern_match.py rename to docs/algorithms/backtrack/pattern_match.py diff --git a/algorithms/backtrack/permute.py b/docs/algorithms/backtrack/permute.py similarity index 100% rename from algorithms/backtrack/permute.py rename to docs/algorithms/backtrack/permute.py diff --git a/algorithms/backtrack/permute_unique.py b/docs/algorithms/backtrack/permute_unique.py similarity index 100% rename from algorithms/backtrack/permute_unique.py rename to docs/algorithms/backtrack/permute_unique.py diff --git a/algorithms/backtrack/subsets.py b/docs/algorithms/backtrack/subsets.py similarity index 100% rename from algorithms/backtrack/subsets.py rename to docs/algorithms/backtrack/subsets.py diff --git a/algorithms/backtrack/subsets_unique.py b/docs/algorithms/backtrack/subsets_unique.py similarity index 100% rename from algorithms/backtrack/subsets_unique.py rename to docs/algorithms/backtrack/subsets_unique.py diff --git a/algorithms/bfs/__init__.py b/docs/algorithms/bfs/__init__.py similarity index 100% rename from algorithms/bfs/__init__.py rename to docs/algorithms/bfs/__init__.py diff --git a/algorithms/bfs/count_islands.py b/docs/algorithms/bfs/count_islands.py similarity index 100% rename from algorithms/bfs/count_islands.py rename to docs/algorithms/bfs/count_islands.py diff --git a/algorithms/bfs/maze_search.py b/docs/algorithms/bfs/maze_search.py similarity index 100% rename from algorithms/bfs/maze_search.py rename to docs/algorithms/bfs/maze_search.py diff --git a/algorithms/bfs/shortest_distance_from_all_buildings.py b/docs/algorithms/bfs/shortest_distance_from_all_buildings.py similarity index 100% rename from algorithms/bfs/shortest_distance_from_all_buildings.py rename to docs/algorithms/bfs/shortest_distance_from_all_buildings.py diff --git a/algorithms/bfs/word_ladder.py b/docs/algorithms/bfs/word_ladder.py similarity index 100% rename from algorithms/bfs/word_ladder.py rename to docs/algorithms/bfs/word_ladder.py diff --git a/algorithms/bit/__init__.py b/docs/algorithms/bit/__init__.py similarity index 100% rename from algorithms/bit/__init__.py rename to docs/algorithms/bit/__init__.py diff --git a/algorithms/bit/add_bitwise_operator.py b/docs/algorithms/bit/add_bitwise_operator.py similarity index 100% rename from algorithms/bit/add_bitwise_operator.py rename to docs/algorithms/bit/add_bitwise_operator.py diff --git a/algorithms/bit/binary_gap.py b/docs/algorithms/bit/binary_gap.py similarity index 100% rename from algorithms/bit/binary_gap.py rename to docs/algorithms/bit/binary_gap.py diff --git a/algorithms/bit/bit_operation.py b/docs/algorithms/bit/bit_operation.py similarity index 100% rename from algorithms/bit/bit_operation.py rename to docs/algorithms/bit/bit_operation.py diff --git a/algorithms/bit/bytes_int_conversion.py b/docs/algorithms/bit/bytes_int_conversion.py similarity index 100% rename from algorithms/bit/bytes_int_conversion.py rename to docs/algorithms/bit/bytes_int_conversion.py diff --git a/algorithms/bit/count_flips_to_convert.py b/docs/algorithms/bit/count_flips_to_convert.py similarity index 100% rename from algorithms/bit/count_flips_to_convert.py rename to docs/algorithms/bit/count_flips_to_convert.py diff --git a/algorithms/bit/count_ones.py b/docs/algorithms/bit/count_ones.py similarity index 100% rename from algorithms/bit/count_ones.py rename to docs/algorithms/bit/count_ones.py diff --git a/algorithms/bit/find_difference.py b/docs/algorithms/bit/find_difference.py similarity index 100% rename from algorithms/bit/find_difference.py rename to docs/algorithms/bit/find_difference.py diff --git a/algorithms/bit/find_missing_number.py b/docs/algorithms/bit/find_missing_number.py similarity index 100% rename from algorithms/bit/find_missing_number.py rename to docs/algorithms/bit/find_missing_number.py diff --git a/algorithms/bit/flip_bit_longest_sequence.py b/docs/algorithms/bit/flip_bit_longest_sequence.py similarity index 100% rename from algorithms/bit/flip_bit_longest_sequence.py rename to docs/algorithms/bit/flip_bit_longest_sequence.py diff --git a/algorithms/bit/has_alternative_bit.py b/docs/algorithms/bit/has_alternative_bit.py similarity index 100% rename from algorithms/bit/has_alternative_bit.py rename to docs/algorithms/bit/has_alternative_bit.py diff --git a/algorithms/bit/insert_bit.py b/docs/algorithms/bit/insert_bit.py similarity index 100% rename from algorithms/bit/insert_bit.py rename to docs/algorithms/bit/insert_bit.py diff --git a/algorithms/bit/power_of_two.py b/docs/algorithms/bit/power_of_two.py similarity index 100% rename from algorithms/bit/power_of_two.py rename to docs/algorithms/bit/power_of_two.py diff --git a/algorithms/bit/remove_bit.py b/docs/algorithms/bit/remove_bit.py similarity index 100% rename from algorithms/bit/remove_bit.py rename to docs/algorithms/bit/remove_bit.py diff --git a/algorithms/bit/reverse_bits.py b/docs/algorithms/bit/reverse_bits.py similarity index 100% rename from algorithms/bit/reverse_bits.py rename to docs/algorithms/bit/reverse_bits.py diff --git a/algorithms/bit/single_number.py b/docs/algorithms/bit/single_number.py similarity index 100% rename from algorithms/bit/single_number.py rename to docs/algorithms/bit/single_number.py diff --git a/algorithms/bit/single_number2.py b/docs/algorithms/bit/single_number2.py similarity index 100% rename from algorithms/bit/single_number2.py rename to docs/algorithms/bit/single_number2.py diff --git a/algorithms/bit/single_number3.py b/docs/algorithms/bit/single_number3.py similarity index 100% rename from algorithms/bit/single_number3.py rename to docs/algorithms/bit/single_number3.py diff --git a/algorithms/bit/subsets.py b/docs/algorithms/bit/subsets.py similarity index 100% rename from algorithms/bit/subsets.py rename to docs/algorithms/bit/subsets.py diff --git a/algorithms/bit/swap_pair.py b/docs/algorithms/bit/swap_pair.py similarity index 100% rename from algorithms/bit/swap_pair.py rename to docs/algorithms/bit/swap_pair.py diff --git a/algorithms/compression/__init__.py b/docs/algorithms/compression/__init__.py similarity index 100% rename from algorithms/compression/__init__.py rename to docs/algorithms/compression/__init__.py diff --git a/algorithms/compression/elias.py b/docs/algorithms/compression/elias.py similarity index 100% rename from algorithms/compression/elias.py rename to docs/algorithms/compression/elias.py diff --git a/algorithms/compression/huffman_coding.py b/docs/algorithms/compression/huffman_coding.py similarity index 100% rename from algorithms/compression/huffman_coding.py rename to docs/algorithms/compression/huffman_coding.py diff --git a/algorithms/compression/rle_compression.py b/docs/algorithms/compression/rle_compression.py similarity index 100% rename from algorithms/compression/rle_compression.py rename to docs/algorithms/compression/rle_compression.py diff --git a/algorithms/dfs/__init__.py b/docs/algorithms/dfs/__init__.py similarity index 100% rename from algorithms/dfs/__init__.py rename to docs/algorithms/dfs/__init__.py diff --git a/algorithms/dfs/all_factors.py b/docs/algorithms/dfs/all_factors.py similarity index 100% rename from algorithms/dfs/all_factors.py rename to docs/algorithms/dfs/all_factors.py diff --git a/algorithms/dfs/count_islands.py b/docs/algorithms/dfs/count_islands.py similarity index 100% rename from algorithms/dfs/count_islands.py rename to docs/algorithms/dfs/count_islands.py diff --git a/algorithms/dfs/maze_search.py b/docs/algorithms/dfs/maze_search.py similarity index 100% rename from algorithms/dfs/maze_search.py rename to docs/algorithms/dfs/maze_search.py diff --git a/algorithms/dfs/pacific_atlantic.py b/docs/algorithms/dfs/pacific_atlantic.py similarity index 100% rename from algorithms/dfs/pacific_atlantic.py rename to docs/algorithms/dfs/pacific_atlantic.py diff --git a/algorithms/dfs/sudoku_solver.py b/docs/algorithms/dfs/sudoku_solver.py similarity index 100% rename from algorithms/dfs/sudoku_solver.py rename to docs/algorithms/dfs/sudoku_solver.py diff --git a/algorithms/dfs/walls_and_gates.py b/docs/algorithms/dfs/walls_and_gates.py similarity index 100% rename from algorithms/dfs/walls_and_gates.py rename to docs/algorithms/dfs/walls_and_gates.py diff --git a/algorithms/distribution/__init__.py b/docs/algorithms/distribution/__init__.py similarity index 100% rename from algorithms/distribution/__init__.py rename to docs/algorithms/distribution/__init__.py diff --git a/algorithms/distribution/histogram.py b/docs/algorithms/distribution/histogram.py similarity index 100% rename from algorithms/distribution/histogram.py rename to docs/algorithms/distribution/histogram.py diff --git a/algorithms/dp/__init__.py b/docs/algorithms/dp/__init__.py similarity index 100% rename from algorithms/dp/__init__.py rename to docs/algorithms/dp/__init__.py diff --git a/algorithms/dp/buy_sell_stock.py b/docs/algorithms/dp/buy_sell_stock.py similarity index 100% rename from algorithms/dp/buy_sell_stock.py rename to docs/algorithms/dp/buy_sell_stock.py diff --git a/algorithms/dp/climbing_stairs.py b/docs/algorithms/dp/climbing_stairs.py similarity index 100% rename from algorithms/dp/climbing_stairs.py rename to docs/algorithms/dp/climbing_stairs.py diff --git a/algorithms/dp/coin_change.py b/docs/algorithms/dp/coin_change.py similarity index 100% rename from algorithms/dp/coin_change.py rename to docs/algorithms/dp/coin_change.py diff --git a/algorithms/dp/combination_sum.py b/docs/algorithms/dp/combination_sum.py similarity index 100% rename from algorithms/dp/combination_sum.py rename to docs/algorithms/dp/combination_sum.py diff --git a/algorithms/dp/edit_distance.py b/docs/algorithms/dp/edit_distance.py similarity index 100% rename from algorithms/dp/edit_distance.py rename to docs/algorithms/dp/edit_distance.py diff --git a/algorithms/dp/egg_drop.py b/docs/algorithms/dp/egg_drop.py similarity index 100% rename from algorithms/dp/egg_drop.py rename to docs/algorithms/dp/egg_drop.py diff --git a/algorithms/dp/fib.py b/docs/algorithms/dp/fib.py similarity index 100% rename from algorithms/dp/fib.py rename to docs/algorithms/dp/fib.py diff --git a/algorithms/dp/hosoya_triangle.py b/docs/algorithms/dp/hosoya_triangle.py similarity index 100% rename from algorithms/dp/hosoya_triangle.py rename to docs/algorithms/dp/hosoya_triangle.py diff --git a/algorithms/dp/house_robber.py b/docs/algorithms/dp/house_robber.py similarity index 100% rename from algorithms/dp/house_robber.py rename to docs/algorithms/dp/house_robber.py diff --git a/algorithms/dp/int_divide.py b/docs/algorithms/dp/int_divide.py similarity index 100% rename from algorithms/dp/int_divide.py rename to docs/algorithms/dp/int_divide.py diff --git a/algorithms/dp/job_scheduling.py b/docs/algorithms/dp/job_scheduling.py similarity index 100% rename from algorithms/dp/job_scheduling.py rename to docs/algorithms/dp/job_scheduling.py diff --git a/algorithms/dp/k_factor.py b/docs/algorithms/dp/k_factor.py similarity index 100% rename from algorithms/dp/k_factor.py rename to docs/algorithms/dp/k_factor.py diff --git a/algorithms/dp/knapsack.py b/docs/algorithms/dp/knapsack.py similarity index 100% rename from algorithms/dp/knapsack.py rename to docs/algorithms/dp/knapsack.py diff --git a/algorithms/dp/longest_common_subsequence.py b/docs/algorithms/dp/longest_common_subsequence.py similarity index 100% rename from algorithms/dp/longest_common_subsequence.py rename to docs/algorithms/dp/longest_common_subsequence.py diff --git a/algorithms/dp/longest_increasing.py b/docs/algorithms/dp/longest_increasing.py similarity index 100% rename from algorithms/dp/longest_increasing.py rename to docs/algorithms/dp/longest_increasing.py diff --git a/algorithms/dp/matrix_chain_order.py b/docs/algorithms/dp/matrix_chain_order.py similarity index 100% rename from algorithms/dp/matrix_chain_order.py rename to docs/algorithms/dp/matrix_chain_order.py diff --git a/algorithms/dp/max_product_subarray.py b/docs/algorithms/dp/max_product_subarray.py similarity index 100% rename from algorithms/dp/max_product_subarray.py rename to docs/algorithms/dp/max_product_subarray.py diff --git a/algorithms/dp/max_subarray.py b/docs/algorithms/dp/max_subarray.py similarity index 100% rename from algorithms/dp/max_subarray.py rename to docs/algorithms/dp/max_subarray.py diff --git a/algorithms/dp/min_cost_path.py b/docs/algorithms/dp/min_cost_path.py similarity index 100% rename from algorithms/dp/min_cost_path.py rename to docs/algorithms/dp/min_cost_path.py diff --git a/algorithms/dp/num_decodings.py b/docs/algorithms/dp/num_decodings.py similarity index 100% rename from algorithms/dp/num_decodings.py rename to docs/algorithms/dp/num_decodings.py diff --git a/algorithms/dp/planting_trees.py b/docs/algorithms/dp/planting_trees.py similarity index 100% rename from algorithms/dp/planting_trees.py rename to docs/algorithms/dp/planting_trees.py diff --git a/algorithms/dp/regex_matching.py b/docs/algorithms/dp/regex_matching.py similarity index 100% rename from algorithms/dp/regex_matching.py rename to docs/algorithms/dp/regex_matching.py diff --git a/algorithms/dp/rod_cut.py b/docs/algorithms/dp/rod_cut.py similarity index 100% rename from algorithms/dp/rod_cut.py rename to docs/algorithms/dp/rod_cut.py diff --git a/algorithms/dp/word_break.py b/docs/algorithms/dp/word_break.py similarity index 100% rename from algorithms/dp/word_break.py rename to docs/algorithms/dp/word_break.py diff --git a/algorithms/graph/__init__.py b/docs/algorithms/graph/__init__.py similarity index 100% rename from algorithms/graph/__init__.py rename to docs/algorithms/graph/__init__.py diff --git a/algorithms/graph/all_pairs_shortest_path.py b/docs/algorithms/graph/all_pairs_shortest_path.py similarity index 100% rename from algorithms/graph/all_pairs_shortest_path.py rename to docs/algorithms/graph/all_pairs_shortest_path.py diff --git a/algorithms/graph/bellman_ford.py b/docs/algorithms/graph/bellman_ford.py similarity index 100% rename from algorithms/graph/bellman_ford.py rename to docs/algorithms/graph/bellman_ford.py diff --git a/algorithms/graph/check_bipartite.py b/docs/algorithms/graph/check_bipartite.py similarity index 100% rename from algorithms/graph/check_bipartite.py rename to docs/algorithms/graph/check_bipartite.py diff --git a/algorithms/graph/check_digraph_strongly_connected.py b/docs/algorithms/graph/check_digraph_strongly_connected.py similarity index 100% rename from algorithms/graph/check_digraph_strongly_connected.py rename to docs/algorithms/graph/check_digraph_strongly_connected.py diff --git a/algorithms/graph/clone_graph.py b/docs/algorithms/graph/clone_graph.py similarity index 100% rename from algorithms/graph/clone_graph.py rename to docs/algorithms/graph/clone_graph.py diff --git a/algorithms/graph/count_connected_number_of_component.py b/docs/algorithms/graph/count_connected_number_of_component.py similarity index 100% rename from algorithms/graph/count_connected_number_of_component.py rename to docs/algorithms/graph/count_connected_number_of_component.py diff --git a/algorithms/graph/cycle_detection.py b/docs/algorithms/graph/cycle_detection.py similarity index 100% rename from algorithms/graph/cycle_detection.py rename to docs/algorithms/graph/cycle_detection.py diff --git a/algorithms/graph/dijkstra.py b/docs/algorithms/graph/dijkstra.py similarity index 100% rename from algorithms/graph/dijkstra.py rename to docs/algorithms/graph/dijkstra.py diff --git a/algorithms/graph/find_all_cliques.py b/docs/algorithms/graph/find_all_cliques.py similarity index 100% rename from algorithms/graph/find_all_cliques.py rename to docs/algorithms/graph/find_all_cliques.py diff --git a/algorithms/graph/find_path.py b/docs/algorithms/graph/find_path.py similarity index 100% rename from algorithms/graph/find_path.py rename to docs/algorithms/graph/find_path.py diff --git a/algorithms/graph/graph.py b/docs/algorithms/graph/graph.py similarity index 100% rename from algorithms/graph/graph.py rename to docs/algorithms/graph/graph.py diff --git a/algorithms/graph/markov_chain.py b/docs/algorithms/graph/markov_chain.py similarity index 100% rename from algorithms/graph/markov_chain.py rename to docs/algorithms/graph/markov_chain.py diff --git a/algorithms/graph/maximum_flow.py b/docs/algorithms/graph/maximum_flow.py similarity index 100% rename from algorithms/graph/maximum_flow.py rename to docs/algorithms/graph/maximum_flow.py diff --git a/algorithms/graph/maximum_flow_bfs.py b/docs/algorithms/graph/maximum_flow_bfs.py similarity index 100% rename from algorithms/graph/maximum_flow_bfs.py rename to docs/algorithms/graph/maximum_flow_bfs.py diff --git a/algorithms/graph/maximum_flow_dfs.py b/docs/algorithms/graph/maximum_flow_dfs.py similarity index 100% rename from algorithms/graph/maximum_flow_dfs.py rename to docs/algorithms/graph/maximum_flow_dfs.py diff --git a/algorithms/graph/minimum_spanning_tree.py b/docs/algorithms/graph/minimum_spanning_tree.py similarity index 100% rename from algorithms/graph/minimum_spanning_tree.py rename to docs/algorithms/graph/minimum_spanning_tree.py diff --git a/algorithms/graph/path_between_two_vertices_in_digraph.py b/docs/algorithms/graph/path_between_two_vertices_in_digraph.py similarity index 100% rename from algorithms/graph/path_between_two_vertices_in_digraph.py rename to docs/algorithms/graph/path_between_two_vertices_in_digraph.py diff --git a/algorithms/graph/prims_minimum_spanning.py b/docs/algorithms/graph/prims_minimum_spanning.py similarity index 100% rename from algorithms/graph/prims_minimum_spanning.py rename to docs/algorithms/graph/prims_minimum_spanning.py diff --git a/algorithms/graph/satisfiability.py b/docs/algorithms/graph/satisfiability.py similarity index 100% rename from algorithms/graph/satisfiability.py rename to docs/algorithms/graph/satisfiability.py diff --git a/algorithms/graph/strongly_connected_components_kosaraju.py b/docs/algorithms/graph/strongly_connected_components_kosaraju.py similarity index 100% rename from algorithms/graph/strongly_connected_components_kosaraju.py rename to docs/algorithms/graph/strongly_connected_components_kosaraju.py diff --git a/algorithms/graph/tarjan.py b/docs/algorithms/graph/tarjan.py similarity index 100% rename from algorithms/graph/tarjan.py rename to docs/algorithms/graph/tarjan.py diff --git a/algorithms/graph/transitive_closure_dfs.py b/docs/algorithms/graph/transitive_closure_dfs.py similarity index 100% rename from algorithms/graph/transitive_closure_dfs.py rename to docs/algorithms/graph/transitive_closure_dfs.py diff --git a/algorithms/graph/traversal.py b/docs/algorithms/graph/traversal.py similarity index 100% rename from algorithms/graph/traversal.py rename to docs/algorithms/graph/traversal.py diff --git a/algorithms/greedy/__init__.py b/docs/algorithms/greedy/__init__.py similarity index 100% rename from algorithms/greedy/__init__.py rename to docs/algorithms/greedy/__init__.py diff --git a/algorithms/greedy/max_contiguous_subsequence_sum.py b/docs/algorithms/greedy/max_contiguous_subsequence_sum.py similarity index 100% rename from algorithms/greedy/max_contiguous_subsequence_sum.py rename to docs/algorithms/greedy/max_contiguous_subsequence_sum.py diff --git a/algorithms/heap/__init__.py b/docs/algorithms/heap/__init__.py similarity index 100% rename from algorithms/heap/__init__.py rename to docs/algorithms/heap/__init__.py diff --git a/algorithms/heap/binary_heap.py b/docs/algorithms/heap/binary_heap.py similarity index 100% rename from algorithms/heap/binary_heap.py rename to docs/algorithms/heap/binary_heap.py diff --git a/algorithms/heap/k_closest_points.py b/docs/algorithms/heap/k_closest_points.py similarity index 100% rename from algorithms/heap/k_closest_points.py rename to docs/algorithms/heap/k_closest_points.py diff --git a/algorithms/heap/merge_sorted_k_lists.py b/docs/algorithms/heap/merge_sorted_k_lists.py similarity index 100% rename from algorithms/heap/merge_sorted_k_lists.py rename to docs/algorithms/heap/merge_sorted_k_lists.py diff --git a/algorithms/heap/skyline.py b/docs/algorithms/heap/skyline.py similarity index 100% rename from algorithms/heap/skyline.py rename to docs/algorithms/heap/skyline.py diff --git a/algorithms/heap/sliding_window_max.py b/docs/algorithms/heap/sliding_window_max.py similarity index 100% rename from algorithms/heap/sliding_window_max.py rename to docs/algorithms/heap/sliding_window_max.py diff --git a/algorithms/linkedlist/__init__.py b/docs/algorithms/linkedlist/__init__.py similarity index 100% rename from algorithms/linkedlist/__init__.py rename to docs/algorithms/linkedlist/__init__.py diff --git a/algorithms/linkedlist/add_two_numbers.py b/docs/algorithms/linkedlist/add_two_numbers.py similarity index 100% rename from algorithms/linkedlist/add_two_numbers.py rename to docs/algorithms/linkedlist/add_two_numbers.py diff --git a/algorithms/linkedlist/copy_random_pointer.py b/docs/algorithms/linkedlist/copy_random_pointer.py similarity index 100% rename from algorithms/linkedlist/copy_random_pointer.py rename to docs/algorithms/linkedlist/copy_random_pointer.py diff --git a/algorithms/linkedlist/delete_node.py b/docs/algorithms/linkedlist/delete_node.py similarity index 100% rename from algorithms/linkedlist/delete_node.py rename to docs/algorithms/linkedlist/delete_node.py diff --git a/algorithms/linkedlist/first_cyclic_node.py b/docs/algorithms/linkedlist/first_cyclic_node.py similarity index 100% rename from algorithms/linkedlist/first_cyclic_node.py rename to docs/algorithms/linkedlist/first_cyclic_node.py diff --git a/algorithms/linkedlist/intersection.py b/docs/algorithms/linkedlist/intersection.py similarity index 100% rename from algorithms/linkedlist/intersection.py rename to docs/algorithms/linkedlist/intersection.py diff --git a/algorithms/linkedlist/is_cyclic.py b/docs/algorithms/linkedlist/is_cyclic.py similarity index 100% rename from algorithms/linkedlist/is_cyclic.py rename to docs/algorithms/linkedlist/is_cyclic.py diff --git a/algorithms/linkedlist/is_palindrome.py b/docs/algorithms/linkedlist/is_palindrome.py similarity index 100% rename from algorithms/linkedlist/is_palindrome.py rename to docs/algorithms/linkedlist/is_palindrome.py diff --git a/algorithms/linkedlist/is_sorted.py b/docs/algorithms/linkedlist/is_sorted.py similarity index 100% rename from algorithms/linkedlist/is_sorted.py rename to docs/algorithms/linkedlist/is_sorted.py diff --git a/algorithms/linkedlist/kth_to_last.py b/docs/algorithms/linkedlist/kth_to_last.py similarity index 100% rename from algorithms/linkedlist/kth_to_last.py rename to docs/algorithms/linkedlist/kth_to_last.py diff --git a/algorithms/linkedlist/linkedlist.py b/docs/algorithms/linkedlist/linkedlist.py similarity index 100% rename from algorithms/linkedlist/linkedlist.py rename to docs/algorithms/linkedlist/linkedlist.py diff --git a/algorithms/linkedlist/merge_two_list.py b/docs/algorithms/linkedlist/merge_two_list.py similarity index 100% rename from algorithms/linkedlist/merge_two_list.py rename to docs/algorithms/linkedlist/merge_two_list.py diff --git a/algorithms/linkedlist/partition.py b/docs/algorithms/linkedlist/partition.py similarity index 100% rename from algorithms/linkedlist/partition.py rename to docs/algorithms/linkedlist/partition.py diff --git a/algorithms/linkedlist/remove_duplicates.py b/docs/algorithms/linkedlist/remove_duplicates.py similarity index 100% rename from algorithms/linkedlist/remove_duplicates.py rename to docs/algorithms/linkedlist/remove_duplicates.py diff --git a/algorithms/linkedlist/remove_range.py b/docs/algorithms/linkedlist/remove_range.py similarity index 100% rename from algorithms/linkedlist/remove_range.py rename to docs/algorithms/linkedlist/remove_range.py diff --git a/algorithms/linkedlist/reverse.py b/docs/algorithms/linkedlist/reverse.py similarity index 100% rename from algorithms/linkedlist/reverse.py rename to docs/algorithms/linkedlist/reverse.py diff --git a/algorithms/linkedlist/rotate_list.py b/docs/algorithms/linkedlist/rotate_list.py similarity index 100% rename from algorithms/linkedlist/rotate_list.py rename to docs/algorithms/linkedlist/rotate_list.py diff --git a/algorithms/linkedlist/swap_in_pairs.py b/docs/algorithms/linkedlist/swap_in_pairs.py similarity index 100% rename from algorithms/linkedlist/swap_in_pairs.py rename to docs/algorithms/linkedlist/swap_in_pairs.py diff --git a/algorithms/map/__init__.py b/docs/algorithms/map/__init__.py similarity index 100% rename from algorithms/map/__init__.py rename to docs/algorithms/map/__init__.py diff --git a/algorithms/map/hashtable.py b/docs/algorithms/map/hashtable.py similarity index 100% rename from algorithms/map/hashtable.py rename to docs/algorithms/map/hashtable.py diff --git a/algorithms/map/is_anagram.py b/docs/algorithms/map/is_anagram.py similarity index 100% rename from algorithms/map/is_anagram.py rename to docs/algorithms/map/is_anagram.py diff --git a/algorithms/map/is_isomorphic.py b/docs/algorithms/map/is_isomorphic.py similarity index 100% rename from algorithms/map/is_isomorphic.py rename to docs/algorithms/map/is_isomorphic.py diff --git a/algorithms/map/longest_common_subsequence.py b/docs/algorithms/map/longest_common_subsequence.py similarity index 100% rename from algorithms/map/longest_common_subsequence.py rename to docs/algorithms/map/longest_common_subsequence.py diff --git a/algorithms/map/longest_palindromic_subsequence.py b/docs/algorithms/map/longest_palindromic_subsequence.py similarity index 100% rename from algorithms/map/longest_palindromic_subsequence.py rename to docs/algorithms/map/longest_palindromic_subsequence.py diff --git a/algorithms/map/randomized_set.py b/docs/algorithms/map/randomized_set.py similarity index 100% rename from algorithms/map/randomized_set.py rename to docs/algorithms/map/randomized_set.py diff --git a/algorithms/map/separate_chaining_hashtable.py b/docs/algorithms/map/separate_chaining_hashtable.py similarity index 100% rename from algorithms/map/separate_chaining_hashtable.py rename to docs/algorithms/map/separate_chaining_hashtable.py diff --git a/algorithms/map/valid_sudoku.py b/docs/algorithms/map/valid_sudoku.py similarity index 100% rename from algorithms/map/valid_sudoku.py rename to docs/algorithms/map/valid_sudoku.py diff --git a/algorithms/map/word_pattern.py b/docs/algorithms/map/word_pattern.py similarity index 100% rename from algorithms/map/word_pattern.py rename to docs/algorithms/map/word_pattern.py diff --git a/algorithms/maths/__init__.py b/docs/algorithms/maths/__init__.py similarity index 100% rename from algorithms/maths/__init__.py rename to docs/algorithms/maths/__init__.py diff --git a/algorithms/maths/base_conversion.py b/docs/algorithms/maths/base_conversion.py similarity index 100% rename from algorithms/maths/base_conversion.py rename to docs/algorithms/maths/base_conversion.py diff --git a/algorithms/maths/chinese_remainder_theorem.py b/docs/algorithms/maths/chinese_remainder_theorem.py similarity index 100% rename from algorithms/maths/chinese_remainder_theorem.py rename to docs/algorithms/maths/chinese_remainder_theorem.py diff --git a/algorithms/maths/combination.py b/docs/algorithms/maths/combination.py similarity index 100% rename from algorithms/maths/combination.py rename to docs/algorithms/maths/combination.py diff --git a/algorithms/maths/cosine_similarity.py b/docs/algorithms/maths/cosine_similarity.py similarity index 100% rename from algorithms/maths/cosine_similarity.py rename to docs/algorithms/maths/cosine_similarity.py diff --git a/algorithms/maths/decimal_to_binary_ip.py b/docs/algorithms/maths/decimal_to_binary_ip.py similarity index 100% rename from algorithms/maths/decimal_to_binary_ip.py rename to docs/algorithms/maths/decimal_to_binary_ip.py diff --git a/algorithms/maths/diffie_hellman_key_exchange.py b/docs/algorithms/maths/diffie_hellman_key_exchange.py similarity index 100% rename from algorithms/maths/diffie_hellman_key_exchange.py rename to docs/algorithms/maths/diffie_hellman_key_exchange.py diff --git a/algorithms/maths/euler_totient.py b/docs/algorithms/maths/euler_totient.py similarity index 100% rename from algorithms/maths/euler_totient.py rename to docs/algorithms/maths/euler_totient.py diff --git a/algorithms/maths/extended_gcd.py b/docs/algorithms/maths/extended_gcd.py similarity index 100% rename from algorithms/maths/extended_gcd.py rename to docs/algorithms/maths/extended_gcd.py diff --git a/algorithms/maths/factorial.py b/docs/algorithms/maths/factorial.py similarity index 100% rename from algorithms/maths/factorial.py rename to docs/algorithms/maths/factorial.py diff --git a/algorithms/maths/fft.py b/docs/algorithms/maths/fft.py similarity index 100% rename from algorithms/maths/fft.py rename to docs/algorithms/maths/fft.py diff --git a/algorithms/maths/find_order_simple.py b/docs/algorithms/maths/find_order_simple.py similarity index 100% rename from algorithms/maths/find_order_simple.py rename to docs/algorithms/maths/find_order_simple.py diff --git a/algorithms/maths/find_primitive_root_simple.py b/docs/algorithms/maths/find_primitive_root_simple.py similarity index 100% rename from algorithms/maths/find_primitive_root_simple.py rename to docs/algorithms/maths/find_primitive_root_simple.py diff --git a/algorithms/maths/gcd.py b/docs/algorithms/maths/gcd.py similarity index 100% rename from algorithms/maths/gcd.py rename to docs/algorithms/maths/gcd.py diff --git a/algorithms/maths/generate_strobogrammtic.py b/docs/algorithms/maths/generate_strobogrammtic.py similarity index 100% rename from algorithms/maths/generate_strobogrammtic.py rename to docs/algorithms/maths/generate_strobogrammtic.py diff --git a/algorithms/maths/hailstone.py b/docs/algorithms/maths/hailstone.py similarity index 100% rename from algorithms/maths/hailstone.py rename to docs/algorithms/maths/hailstone.py diff --git a/algorithms/maths/is_strobogrammatic.py b/docs/algorithms/maths/is_strobogrammatic.py similarity index 100% rename from algorithms/maths/is_strobogrammatic.py rename to docs/algorithms/maths/is_strobogrammatic.py diff --git a/algorithms/maths/krishnamurthy_number.py b/docs/algorithms/maths/krishnamurthy_number.py similarity index 100% rename from algorithms/maths/krishnamurthy_number.py rename to docs/algorithms/maths/krishnamurthy_number.py diff --git a/algorithms/maths/magic_number.py b/docs/algorithms/maths/magic_number.py similarity index 100% rename from algorithms/maths/magic_number.py rename to docs/algorithms/maths/magic_number.py diff --git a/algorithms/maths/modular_exponential.py b/docs/algorithms/maths/modular_exponential.py similarity index 100% rename from algorithms/maths/modular_exponential.py rename to docs/algorithms/maths/modular_exponential.py diff --git a/algorithms/maths/modular_inverse.py b/docs/algorithms/maths/modular_inverse.py similarity index 100% rename from algorithms/maths/modular_inverse.py rename to docs/algorithms/maths/modular_inverse.py diff --git a/algorithms/maths/next_bigger.py b/docs/algorithms/maths/next_bigger.py similarity index 100% rename from algorithms/maths/next_bigger.py rename to docs/algorithms/maths/next_bigger.py diff --git a/algorithms/maths/next_perfect_square.py b/docs/algorithms/maths/next_perfect_square.py similarity index 100% rename from algorithms/maths/next_perfect_square.py rename to docs/algorithms/maths/next_perfect_square.py diff --git a/algorithms/maths/nth_digit.py b/docs/algorithms/maths/nth_digit.py similarity index 100% rename from algorithms/maths/nth_digit.py rename to docs/algorithms/maths/nth_digit.py diff --git a/algorithms/maths/num_digits.py b/docs/algorithms/maths/num_digits.py similarity index 100% rename from algorithms/maths/num_digits.py rename to docs/algorithms/maths/num_digits.py diff --git a/algorithms/maths/num_perfect_squares.py b/docs/algorithms/maths/num_perfect_squares.py similarity index 100% rename from algorithms/maths/num_perfect_squares.py rename to docs/algorithms/maths/num_perfect_squares.py diff --git a/algorithms/maths/polynomial.py b/docs/algorithms/maths/polynomial.py similarity index 100% rename from algorithms/maths/polynomial.py rename to docs/algorithms/maths/polynomial.py diff --git a/algorithms/maths/power.py b/docs/algorithms/maths/power.py similarity index 100% rename from algorithms/maths/power.py rename to docs/algorithms/maths/power.py diff --git a/algorithms/maths/prime_check.py b/docs/algorithms/maths/prime_check.py similarity index 100% rename from algorithms/maths/prime_check.py rename to docs/algorithms/maths/prime_check.py diff --git a/algorithms/maths/primes_sieve_of_eratosthenes.py b/docs/algorithms/maths/primes_sieve_of_eratosthenes.py similarity index 100% rename from algorithms/maths/primes_sieve_of_eratosthenes.py rename to docs/algorithms/maths/primes_sieve_of_eratosthenes.py diff --git a/algorithms/maths/pythagoras.py b/docs/algorithms/maths/pythagoras.py similarity index 100% rename from algorithms/maths/pythagoras.py rename to docs/algorithms/maths/pythagoras.py diff --git a/algorithms/maths/rabin_miller.py b/docs/algorithms/maths/rabin_miller.py similarity index 100% rename from algorithms/maths/rabin_miller.py rename to docs/algorithms/maths/rabin_miller.py diff --git a/algorithms/maths/recursive_binomial_coefficient.py b/docs/algorithms/maths/recursive_binomial_coefficient.py similarity index 100% rename from algorithms/maths/recursive_binomial_coefficient.py rename to docs/algorithms/maths/recursive_binomial_coefficient.py diff --git a/algorithms/maths/rsa.py b/docs/algorithms/maths/rsa.py similarity index 100% rename from algorithms/maths/rsa.py rename to docs/algorithms/maths/rsa.py diff --git a/algorithms/maths/sqrt_precision_factor.py b/docs/algorithms/maths/sqrt_precision_factor.py similarity index 100% rename from algorithms/maths/sqrt_precision_factor.py rename to docs/algorithms/maths/sqrt_precision_factor.py diff --git a/algorithms/maths/summing_digits.py b/docs/algorithms/maths/summing_digits.py similarity index 100% rename from algorithms/maths/summing_digits.py rename to docs/algorithms/maths/summing_digits.py diff --git a/algorithms/maths/symmetry_group_cycle_index.py b/docs/algorithms/maths/symmetry_group_cycle_index.py similarity index 100% rename from algorithms/maths/symmetry_group_cycle_index.py rename to docs/algorithms/maths/symmetry_group_cycle_index.py diff --git a/algorithms/matrix/__init__.py b/docs/algorithms/matrix/__init__.py similarity index 100% rename from algorithms/matrix/__init__.py rename to docs/algorithms/matrix/__init__.py diff --git a/algorithms/matrix/bomb_enemy.py b/docs/algorithms/matrix/bomb_enemy.py similarity index 100% rename from algorithms/matrix/bomb_enemy.py rename to docs/algorithms/matrix/bomb_enemy.py diff --git a/algorithms/matrix/cholesky_matrix_decomposition.py b/docs/algorithms/matrix/cholesky_matrix_decomposition.py similarity index 100% rename from algorithms/matrix/cholesky_matrix_decomposition.py rename to docs/algorithms/matrix/cholesky_matrix_decomposition.py diff --git a/algorithms/matrix/copy_transform.py b/docs/algorithms/matrix/copy_transform.py similarity index 100% rename from algorithms/matrix/copy_transform.py rename to docs/algorithms/matrix/copy_transform.py diff --git a/algorithms/matrix/count_paths.py b/docs/algorithms/matrix/count_paths.py similarity index 100% rename from algorithms/matrix/count_paths.py rename to docs/algorithms/matrix/count_paths.py diff --git a/algorithms/matrix/crout_matrix_decomposition.py b/docs/algorithms/matrix/crout_matrix_decomposition.py similarity index 100% rename from algorithms/matrix/crout_matrix_decomposition.py rename to docs/algorithms/matrix/crout_matrix_decomposition.py diff --git a/algorithms/matrix/matrix_exponentiation.py b/docs/algorithms/matrix/matrix_exponentiation.py similarity index 100% rename from algorithms/matrix/matrix_exponentiation.py rename to docs/algorithms/matrix/matrix_exponentiation.py diff --git a/algorithms/matrix/matrix_inversion.py b/docs/algorithms/matrix/matrix_inversion.py similarity index 100% rename from algorithms/matrix/matrix_inversion.py rename to docs/algorithms/matrix/matrix_inversion.py diff --git a/algorithms/matrix/multiply.py b/docs/algorithms/matrix/multiply.py similarity index 100% rename from algorithms/matrix/multiply.py rename to docs/algorithms/matrix/multiply.py diff --git a/algorithms/matrix/rotate_image.py b/docs/algorithms/matrix/rotate_image.py similarity index 100% rename from algorithms/matrix/rotate_image.py rename to docs/algorithms/matrix/rotate_image.py diff --git a/algorithms/matrix/search_in_sorted_matrix.py b/docs/algorithms/matrix/search_in_sorted_matrix.py similarity index 100% rename from algorithms/matrix/search_in_sorted_matrix.py rename to docs/algorithms/matrix/search_in_sorted_matrix.py diff --git a/algorithms/matrix/sort_matrix_diagonally.py b/docs/algorithms/matrix/sort_matrix_diagonally.py similarity index 100% rename from algorithms/matrix/sort_matrix_diagonally.py rename to docs/algorithms/matrix/sort_matrix_diagonally.py diff --git a/algorithms/matrix/sparse_dot_vector.py b/docs/algorithms/matrix/sparse_dot_vector.py similarity index 100% rename from algorithms/matrix/sparse_dot_vector.py rename to docs/algorithms/matrix/sparse_dot_vector.py diff --git a/algorithms/matrix/sparse_mul.py b/docs/algorithms/matrix/sparse_mul.py similarity index 100% rename from algorithms/matrix/sparse_mul.py rename to docs/algorithms/matrix/sparse_mul.py diff --git a/algorithms/matrix/spiral_traversal.py b/docs/algorithms/matrix/spiral_traversal.py similarity index 100% rename from algorithms/matrix/spiral_traversal.py rename to docs/algorithms/matrix/spiral_traversal.py diff --git a/algorithms/matrix/sudoku_validator.py b/docs/algorithms/matrix/sudoku_validator.py similarity index 100% rename from algorithms/matrix/sudoku_validator.py rename to docs/algorithms/matrix/sudoku_validator.py diff --git a/algorithms/matrix/sum_sub_squares.py b/docs/algorithms/matrix/sum_sub_squares.py similarity index 100% rename from algorithms/matrix/sum_sub_squares.py rename to docs/algorithms/matrix/sum_sub_squares.py diff --git a/algorithms/ml/nearest_neighbor.py b/docs/algorithms/ml/nearest_neighbor.py similarity index 100% rename from algorithms/ml/nearest_neighbor.py rename to docs/algorithms/ml/nearest_neighbor.py diff --git a/algorithms/queues/__init__.py b/docs/algorithms/queues/__init__.py similarity index 100% rename from algorithms/queues/__init__.py rename to docs/algorithms/queues/__init__.py diff --git a/algorithms/queues/max_sliding_window.py b/docs/algorithms/queues/max_sliding_window.py similarity index 100% rename from algorithms/queues/max_sliding_window.py rename to docs/algorithms/queues/max_sliding_window.py diff --git a/algorithms/queues/moving_average.py b/docs/algorithms/queues/moving_average.py similarity index 100% rename from algorithms/queues/moving_average.py rename to docs/algorithms/queues/moving_average.py diff --git a/algorithms/queues/priority_queue.py b/docs/algorithms/queues/priority_queue.py similarity index 100% rename from algorithms/queues/priority_queue.py rename to docs/algorithms/queues/priority_queue.py diff --git a/algorithms/queues/queue.py b/docs/algorithms/queues/queue.py similarity index 100% rename from algorithms/queues/queue.py rename to docs/algorithms/queues/queue.py diff --git a/algorithms/queues/reconstruct_queue.py b/docs/algorithms/queues/reconstruct_queue.py similarity index 100% rename from algorithms/queues/reconstruct_queue.py rename to docs/algorithms/queues/reconstruct_queue.py diff --git a/algorithms/queues/zigzagiterator.py b/docs/algorithms/queues/zigzagiterator.py similarity index 100% rename from algorithms/queues/zigzagiterator.py rename to docs/algorithms/queues/zigzagiterator.py diff --git a/algorithms/search/__init__.py b/docs/algorithms/search/__init__.py similarity index 100% rename from algorithms/search/__init__.py rename to docs/algorithms/search/__init__.py diff --git a/algorithms/search/binary_search.py b/docs/algorithms/search/binary_search.py similarity index 100% rename from algorithms/search/binary_search.py rename to docs/algorithms/search/binary_search.py diff --git a/algorithms/search/find_min_rotate.py b/docs/algorithms/search/find_min_rotate.py similarity index 100% rename from algorithms/search/find_min_rotate.py rename to docs/algorithms/search/find_min_rotate.py diff --git a/algorithms/search/first_occurrence.py b/docs/algorithms/search/first_occurrence.py similarity index 100% rename from algorithms/search/first_occurrence.py rename to docs/algorithms/search/first_occurrence.py diff --git a/algorithms/search/interpolation_search.py b/docs/algorithms/search/interpolation_search.py similarity index 100% rename from algorithms/search/interpolation_search.py rename to docs/algorithms/search/interpolation_search.py diff --git a/algorithms/search/jump_search.py b/docs/algorithms/search/jump_search.py similarity index 100% rename from algorithms/search/jump_search.py rename to docs/algorithms/search/jump_search.py diff --git a/algorithms/search/last_occurrence.py b/docs/algorithms/search/last_occurrence.py similarity index 100% rename from algorithms/search/last_occurrence.py rename to docs/algorithms/search/last_occurrence.py diff --git a/algorithms/search/linear_search.py b/docs/algorithms/search/linear_search.py similarity index 100% rename from algorithms/search/linear_search.py rename to docs/algorithms/search/linear_search.py diff --git a/algorithms/search/next_greatest_letter.py b/docs/algorithms/search/next_greatest_letter.py similarity index 100% rename from algorithms/search/next_greatest_letter.py rename to docs/algorithms/search/next_greatest_letter.py diff --git a/algorithms/search/search_insert.py b/docs/algorithms/search/search_insert.py similarity index 100% rename from algorithms/search/search_insert.py rename to docs/algorithms/search/search_insert.py diff --git a/algorithms/search/search_range.py b/docs/algorithms/search/search_range.py similarity index 100% rename from algorithms/search/search_range.py rename to docs/algorithms/search/search_range.py diff --git a/algorithms/search/search_rotate.py b/docs/algorithms/search/search_rotate.py similarity index 100% rename from algorithms/search/search_rotate.py rename to docs/algorithms/search/search_rotate.py diff --git a/algorithms/search/ternary_search.py b/docs/algorithms/search/ternary_search.py similarity index 100% rename from algorithms/search/ternary_search.py rename to docs/algorithms/search/ternary_search.py diff --git a/algorithms/search/two_sum.py b/docs/algorithms/search/two_sum.py similarity index 100% rename from algorithms/search/two_sum.py rename to docs/algorithms/search/two_sum.py diff --git a/algorithms/set/__init__.py b/docs/algorithms/set/__init__.py similarity index 100% rename from algorithms/set/__init__.py rename to docs/algorithms/set/__init__.py diff --git a/algorithms/set/find_keyboard_row.py b/docs/algorithms/set/find_keyboard_row.py similarity index 100% rename from algorithms/set/find_keyboard_row.py rename to docs/algorithms/set/find_keyboard_row.py diff --git a/algorithms/set/randomized_set.py b/docs/algorithms/set/randomized_set.py similarity index 100% rename from algorithms/set/randomized_set.py rename to docs/algorithms/set/randomized_set.py diff --git a/algorithms/set/set_covering.py b/docs/algorithms/set/set_covering.py similarity index 100% rename from algorithms/set/set_covering.py rename to docs/algorithms/set/set_covering.py diff --git a/algorithms/sort/__init__.py b/docs/algorithms/sort/__init__.py similarity index 100% rename from algorithms/sort/__init__.py rename to docs/algorithms/sort/__init__.py diff --git a/algorithms/sort/bitonic_sort.py b/docs/algorithms/sort/bitonic_sort.py similarity index 100% rename from algorithms/sort/bitonic_sort.py rename to docs/algorithms/sort/bitonic_sort.py diff --git a/algorithms/sort/bogo_sort.py b/docs/algorithms/sort/bogo_sort.py similarity index 100% rename from algorithms/sort/bogo_sort.py rename to docs/algorithms/sort/bogo_sort.py diff --git a/algorithms/sort/bubble_sort.py b/docs/algorithms/sort/bubble_sort.py similarity index 100% rename from algorithms/sort/bubble_sort.py rename to docs/algorithms/sort/bubble_sort.py diff --git a/algorithms/sort/bucket_sort.py b/docs/algorithms/sort/bucket_sort.py similarity index 100% rename from algorithms/sort/bucket_sort.py rename to docs/algorithms/sort/bucket_sort.py diff --git a/algorithms/sort/cocktail_shaker_sort.py b/docs/algorithms/sort/cocktail_shaker_sort.py similarity index 100% rename from algorithms/sort/cocktail_shaker_sort.py rename to docs/algorithms/sort/cocktail_shaker_sort.py diff --git a/algorithms/sort/comb_sort.py b/docs/algorithms/sort/comb_sort.py similarity index 100% rename from algorithms/sort/comb_sort.py rename to docs/algorithms/sort/comb_sort.py diff --git a/algorithms/sort/counting_sort.py b/docs/algorithms/sort/counting_sort.py similarity index 100% rename from algorithms/sort/counting_sort.py rename to docs/algorithms/sort/counting_sort.py diff --git a/algorithms/sort/cycle_sort.py b/docs/algorithms/sort/cycle_sort.py similarity index 100% rename from algorithms/sort/cycle_sort.py rename to docs/algorithms/sort/cycle_sort.py diff --git a/algorithms/sort/exchange_sort.py b/docs/algorithms/sort/exchange_sort.py similarity index 100% rename from algorithms/sort/exchange_sort.py rename to docs/algorithms/sort/exchange_sort.py diff --git a/algorithms/sort/gnome_sort.py b/docs/algorithms/sort/gnome_sort.py similarity index 100% rename from algorithms/sort/gnome_sort.py rename to docs/algorithms/sort/gnome_sort.py diff --git a/algorithms/sort/heap_sort.py b/docs/algorithms/sort/heap_sort.py similarity index 100% rename from algorithms/sort/heap_sort.py rename to docs/algorithms/sort/heap_sort.py diff --git a/algorithms/sort/insertion_sort.py b/docs/algorithms/sort/insertion_sort.py similarity index 100% rename from algorithms/sort/insertion_sort.py rename to docs/algorithms/sort/insertion_sort.py diff --git a/algorithms/sort/meeting_rooms.py b/docs/algorithms/sort/meeting_rooms.py similarity index 100% rename from algorithms/sort/meeting_rooms.py rename to docs/algorithms/sort/meeting_rooms.py diff --git a/algorithms/sort/merge_sort.py b/docs/algorithms/sort/merge_sort.py similarity index 100% rename from algorithms/sort/merge_sort.py rename to docs/algorithms/sort/merge_sort.py diff --git a/algorithms/sort/pancake_sort.py b/docs/algorithms/sort/pancake_sort.py similarity index 100% rename from algorithms/sort/pancake_sort.py rename to docs/algorithms/sort/pancake_sort.py diff --git a/algorithms/sort/pigeonhole_sort.py b/docs/algorithms/sort/pigeonhole_sort.py similarity index 100% rename from algorithms/sort/pigeonhole_sort.py rename to docs/algorithms/sort/pigeonhole_sort.py diff --git a/algorithms/sort/quick_sort.py b/docs/algorithms/sort/quick_sort.py similarity index 100% rename from algorithms/sort/quick_sort.py rename to docs/algorithms/sort/quick_sort.py diff --git a/algorithms/sort/radix_sort.py b/docs/algorithms/sort/radix_sort.py similarity index 100% rename from algorithms/sort/radix_sort.py rename to docs/algorithms/sort/radix_sort.py diff --git a/algorithms/sort/selection_sort.py b/docs/algorithms/sort/selection_sort.py similarity index 100% rename from algorithms/sort/selection_sort.py rename to docs/algorithms/sort/selection_sort.py diff --git a/algorithms/sort/shell_sort.py b/docs/algorithms/sort/shell_sort.py similarity index 100% rename from algorithms/sort/shell_sort.py rename to docs/algorithms/sort/shell_sort.py diff --git a/algorithms/sort/sort_colors.py b/docs/algorithms/sort/sort_colors.py similarity index 100% rename from algorithms/sort/sort_colors.py rename to docs/algorithms/sort/sort_colors.py diff --git a/algorithms/sort/stooge_sort.py b/docs/algorithms/sort/stooge_sort.py similarity index 100% rename from algorithms/sort/stooge_sort.py rename to docs/algorithms/sort/stooge_sort.py diff --git a/algorithms/sort/top_sort.py b/docs/algorithms/sort/top_sort.py similarity index 100% rename from algorithms/sort/top_sort.py rename to docs/algorithms/sort/top_sort.py diff --git a/algorithms/sort/wiggle_sort.py b/docs/algorithms/sort/wiggle_sort.py similarity index 100% rename from algorithms/sort/wiggle_sort.py rename to docs/algorithms/sort/wiggle_sort.py diff --git a/algorithms/stack/__init__.py b/docs/algorithms/stack/__init__.py similarity index 100% rename from algorithms/stack/__init__.py rename to docs/algorithms/stack/__init__.py diff --git a/algorithms/stack/is_consecutive.py b/docs/algorithms/stack/is_consecutive.py similarity index 100% rename from algorithms/stack/is_consecutive.py rename to docs/algorithms/stack/is_consecutive.py diff --git a/algorithms/stack/is_sorted.py b/docs/algorithms/stack/is_sorted.py similarity index 100% rename from algorithms/stack/is_sorted.py rename to docs/algorithms/stack/is_sorted.py diff --git a/algorithms/stack/longest_abs_path.py b/docs/algorithms/stack/longest_abs_path.py similarity index 100% rename from algorithms/stack/longest_abs_path.py rename to docs/algorithms/stack/longest_abs_path.py diff --git a/algorithms/stack/ordered_stack.py b/docs/algorithms/stack/ordered_stack.py similarity index 100% rename from algorithms/stack/ordered_stack.py rename to docs/algorithms/stack/ordered_stack.py diff --git a/algorithms/stack/remove_min.py b/docs/algorithms/stack/remove_min.py similarity index 100% rename from algorithms/stack/remove_min.py rename to docs/algorithms/stack/remove_min.py diff --git a/algorithms/stack/simplify_path.py b/docs/algorithms/stack/simplify_path.py similarity index 100% rename from algorithms/stack/simplify_path.py rename to docs/algorithms/stack/simplify_path.py diff --git a/algorithms/stack/stack.py b/docs/algorithms/stack/stack.py similarity index 100% rename from algorithms/stack/stack.py rename to docs/algorithms/stack/stack.py diff --git a/algorithms/stack/stutter.py b/docs/algorithms/stack/stutter.py similarity index 100% rename from algorithms/stack/stutter.py rename to docs/algorithms/stack/stutter.py diff --git a/algorithms/stack/switch_pairs.py b/docs/algorithms/stack/switch_pairs.py similarity index 100% rename from algorithms/stack/switch_pairs.py rename to docs/algorithms/stack/switch_pairs.py diff --git a/algorithms/stack/valid_parenthesis.py b/docs/algorithms/stack/valid_parenthesis.py similarity index 100% rename from algorithms/stack/valid_parenthesis.py rename to docs/algorithms/stack/valid_parenthesis.py diff --git a/algorithms/streaming/__init__.py b/docs/algorithms/streaming/__init__.py similarity index 100% rename from algorithms/streaming/__init__.py rename to docs/algorithms/streaming/__init__.py diff --git a/algorithms/streaming/misra_gries.py b/docs/algorithms/streaming/misra_gries.py similarity index 100% rename from algorithms/streaming/misra_gries.py rename to docs/algorithms/streaming/misra_gries.py diff --git a/algorithms/streaming/one_sparse_recovery.py b/docs/algorithms/streaming/one_sparse_recovery.py similarity index 100% rename from algorithms/streaming/one_sparse_recovery.py rename to docs/algorithms/streaming/one_sparse_recovery.py diff --git a/algorithms/strings/__init__.py b/docs/algorithms/strings/__init__.py similarity index 100% rename from algorithms/strings/__init__.py rename to docs/algorithms/strings/__init__.py diff --git a/algorithms/strings/add_binary.py b/docs/algorithms/strings/add_binary.py similarity index 100% rename from algorithms/strings/add_binary.py rename to docs/algorithms/strings/add_binary.py diff --git a/algorithms/strings/atbash_cipher.py b/docs/algorithms/strings/atbash_cipher.py similarity index 100% rename from algorithms/strings/atbash_cipher.py rename to docs/algorithms/strings/atbash_cipher.py diff --git a/algorithms/strings/breaking_bad.py b/docs/algorithms/strings/breaking_bad.py similarity index 100% rename from algorithms/strings/breaking_bad.py rename to docs/algorithms/strings/breaking_bad.py diff --git a/algorithms/strings/caesar_cipher.py b/docs/algorithms/strings/caesar_cipher.py similarity index 100% rename from algorithms/strings/caesar_cipher.py rename to docs/algorithms/strings/caesar_cipher.py diff --git a/algorithms/strings/check_pangram.py b/docs/algorithms/strings/check_pangram.py similarity index 100% rename from algorithms/strings/check_pangram.py rename to docs/algorithms/strings/check_pangram.py diff --git a/algorithms/strings/contain_string.py b/docs/algorithms/strings/contain_string.py similarity index 100% rename from algorithms/strings/contain_string.py rename to docs/algorithms/strings/contain_string.py diff --git a/algorithms/strings/count_binary_substring.py b/docs/algorithms/strings/count_binary_substring.py similarity index 100% rename from algorithms/strings/count_binary_substring.py rename to docs/algorithms/strings/count_binary_substring.py diff --git a/algorithms/strings/decode_string.py b/docs/algorithms/strings/decode_string.py similarity index 100% rename from algorithms/strings/decode_string.py rename to docs/algorithms/strings/decode_string.py diff --git a/algorithms/strings/delete_reoccurring.py b/docs/algorithms/strings/delete_reoccurring.py similarity index 100% rename from algorithms/strings/delete_reoccurring.py rename to docs/algorithms/strings/delete_reoccurring.py diff --git a/algorithms/strings/domain_extractor.py b/docs/algorithms/strings/domain_extractor.py similarity index 100% rename from algorithms/strings/domain_extractor.py rename to docs/algorithms/strings/domain_extractor.py diff --git a/algorithms/strings/encode_decode.py b/docs/algorithms/strings/encode_decode.py similarity index 100% rename from algorithms/strings/encode_decode.py rename to docs/algorithms/strings/encode_decode.py diff --git a/algorithms/strings/first_unique_char.py b/docs/algorithms/strings/first_unique_char.py similarity index 100% rename from algorithms/strings/first_unique_char.py rename to docs/algorithms/strings/first_unique_char.py diff --git a/algorithms/strings/fizzbuzz.py b/docs/algorithms/strings/fizzbuzz.py similarity index 100% rename from algorithms/strings/fizzbuzz.py rename to docs/algorithms/strings/fizzbuzz.py diff --git a/algorithms/strings/group_anagrams.py b/docs/algorithms/strings/group_anagrams.py similarity index 100% rename from algorithms/strings/group_anagrams.py rename to docs/algorithms/strings/group_anagrams.py diff --git a/algorithms/strings/int_to_roman.py b/docs/algorithms/strings/int_to_roman.py similarity index 100% rename from algorithms/strings/int_to_roman.py rename to docs/algorithms/strings/int_to_roman.py diff --git a/algorithms/strings/is_palindrome.py b/docs/algorithms/strings/is_palindrome.py similarity index 100% rename from algorithms/strings/is_palindrome.py rename to docs/algorithms/strings/is_palindrome.py diff --git a/algorithms/strings/is_rotated.py b/docs/algorithms/strings/is_rotated.py similarity index 100% rename from algorithms/strings/is_rotated.py rename to docs/algorithms/strings/is_rotated.py diff --git a/algorithms/strings/judge_circle.py b/docs/algorithms/strings/judge_circle.py similarity index 100% rename from algorithms/strings/judge_circle.py rename to docs/algorithms/strings/judge_circle.py diff --git a/algorithms/strings/knuth_morris_pratt.py b/docs/algorithms/strings/knuth_morris_pratt.py similarity index 100% rename from algorithms/strings/knuth_morris_pratt.py rename to docs/algorithms/strings/knuth_morris_pratt.py diff --git a/algorithms/strings/license_number.py b/docs/algorithms/strings/license_number.py similarity index 100% rename from algorithms/strings/license_number.py rename to docs/algorithms/strings/license_number.py diff --git a/algorithms/strings/longest_common_prefix.py b/docs/algorithms/strings/longest_common_prefix.py similarity index 100% rename from algorithms/strings/longest_common_prefix.py rename to docs/algorithms/strings/longest_common_prefix.py diff --git a/algorithms/strings/longest_palindromic_substring.py b/docs/algorithms/strings/longest_palindromic_substring.py similarity index 100% rename from algorithms/strings/longest_palindromic_substring.py rename to docs/algorithms/strings/longest_palindromic_substring.py diff --git a/algorithms/strings/make_sentence.py b/docs/algorithms/strings/make_sentence.py similarity index 100% rename from algorithms/strings/make_sentence.py rename to docs/algorithms/strings/make_sentence.py diff --git a/algorithms/strings/merge_string_checker.py b/docs/algorithms/strings/merge_string_checker.py similarity index 100% rename from algorithms/strings/merge_string_checker.py rename to docs/algorithms/strings/merge_string_checker.py diff --git a/algorithms/strings/min_distance.py b/docs/algorithms/strings/min_distance.py similarity index 100% rename from algorithms/strings/min_distance.py rename to docs/algorithms/strings/min_distance.py diff --git a/algorithms/strings/multiply_strings.py b/docs/algorithms/strings/multiply_strings.py similarity index 100% rename from algorithms/strings/multiply_strings.py rename to docs/algorithms/strings/multiply_strings.py diff --git a/algorithms/strings/one_edit_distance.py b/docs/algorithms/strings/one_edit_distance.py similarity index 100% rename from algorithms/strings/one_edit_distance.py rename to docs/algorithms/strings/one_edit_distance.py diff --git a/algorithms/strings/panagram.py b/docs/algorithms/strings/panagram.py similarity index 100% rename from algorithms/strings/panagram.py rename to docs/algorithms/strings/panagram.py diff --git a/algorithms/strings/rabin_karp.py b/docs/algorithms/strings/rabin_karp.py similarity index 100% rename from algorithms/strings/rabin_karp.py rename to docs/algorithms/strings/rabin_karp.py diff --git a/algorithms/strings/repeat_string.py b/docs/algorithms/strings/repeat_string.py similarity index 100% rename from algorithms/strings/repeat_string.py rename to docs/algorithms/strings/repeat_string.py diff --git a/algorithms/strings/repeat_substring.py b/docs/algorithms/strings/repeat_substring.py similarity index 100% rename from algorithms/strings/repeat_substring.py rename to docs/algorithms/strings/repeat_substring.py diff --git a/algorithms/strings/reverse_string.py b/docs/algorithms/strings/reverse_string.py similarity index 100% rename from algorithms/strings/reverse_string.py rename to docs/algorithms/strings/reverse_string.py diff --git a/algorithms/strings/reverse_vowel.py b/docs/algorithms/strings/reverse_vowel.py similarity index 100% rename from algorithms/strings/reverse_vowel.py rename to docs/algorithms/strings/reverse_vowel.py diff --git a/algorithms/strings/reverse_words.py b/docs/algorithms/strings/reverse_words.py similarity index 100% rename from algorithms/strings/reverse_words.py rename to docs/algorithms/strings/reverse_words.py diff --git a/algorithms/strings/roman_to_int.py b/docs/algorithms/strings/roman_to_int.py similarity index 100% rename from algorithms/strings/roman_to_int.py rename to docs/algorithms/strings/roman_to_int.py diff --git a/algorithms/strings/rotate.py b/docs/algorithms/strings/rotate.py similarity index 100% rename from algorithms/strings/rotate.py rename to docs/algorithms/strings/rotate.py diff --git a/algorithms/strings/strip_url_params.py b/docs/algorithms/strings/strip_url_params.py similarity index 100% rename from algorithms/strings/strip_url_params.py rename to docs/algorithms/strings/strip_url_params.py diff --git a/algorithms/strings/strong_password.py b/docs/algorithms/strings/strong_password.py similarity index 100% rename from algorithms/strings/strong_password.py rename to docs/algorithms/strings/strong_password.py diff --git a/algorithms/strings/text_justification.py b/docs/algorithms/strings/text_justification.py similarity index 100% rename from algorithms/strings/text_justification.py rename to docs/algorithms/strings/text_justification.py diff --git a/algorithms/strings/unique_morse.py b/docs/algorithms/strings/unique_morse.py similarity index 100% rename from algorithms/strings/unique_morse.py rename to docs/algorithms/strings/unique_morse.py diff --git a/algorithms/strings/validate_coordinates.py b/docs/algorithms/strings/validate_coordinates.py similarity index 100% rename from algorithms/strings/validate_coordinates.py rename to docs/algorithms/strings/validate_coordinates.py diff --git a/algorithms/strings/word_squares.py b/docs/algorithms/strings/word_squares.py similarity index 100% rename from algorithms/strings/word_squares.py rename to docs/algorithms/strings/word_squares.py diff --git a/algorithms/tree/__init__.py b/docs/algorithms/tree/__init__.py similarity index 100% rename from algorithms/tree/__init__.py rename to docs/algorithms/tree/__init__.py diff --git a/algorithms/tree/avl/__init__.py b/docs/algorithms/tree/avl/__init__.py similarity index 100% rename from algorithms/tree/avl/__init__.py rename to docs/algorithms/tree/avl/__init__.py diff --git a/algorithms/tree/avl/avl.py b/docs/algorithms/tree/avl/avl.py similarity index 100% rename from algorithms/tree/avl/avl.py rename to docs/algorithms/tree/avl/avl.py diff --git a/algorithms/tree/b_tree.py b/docs/algorithms/tree/b_tree.py similarity index 100% rename from algorithms/tree/b_tree.py rename to docs/algorithms/tree/b_tree.py diff --git a/algorithms/tree/bin_tree_to_list.py b/docs/algorithms/tree/bin_tree_to_list.py similarity index 100% rename from algorithms/tree/bin_tree_to_list.py rename to docs/algorithms/tree/bin_tree_to_list.py diff --git a/algorithms/tree/binary_tree_paths.py b/docs/algorithms/tree/binary_tree_paths.py similarity index 100% rename from algorithms/tree/binary_tree_paths.py rename to docs/algorithms/tree/binary_tree_paths.py diff --git a/algorithms/tree/bst/BSTIterator.py b/docs/algorithms/tree/bst/BSTIterator.py similarity index 100% rename from algorithms/tree/bst/BSTIterator.py rename to docs/algorithms/tree/bst/BSTIterator.py diff --git a/algorithms/tree/bst/array_to_bst.py b/docs/algorithms/tree/bst/array_to_bst.py similarity index 100% rename from algorithms/tree/bst/array_to_bst.py rename to docs/algorithms/tree/bst/array_to_bst.py diff --git a/algorithms/tree/bst/bst.py b/docs/algorithms/tree/bst/bst.py similarity index 100% rename from algorithms/tree/bst/bst.py rename to docs/algorithms/tree/bst/bst.py diff --git a/algorithms/tree/bst/bst_closest_value.py b/docs/algorithms/tree/bst/bst_closest_value.py similarity index 100% rename from algorithms/tree/bst/bst_closest_value.py rename to docs/algorithms/tree/bst/bst_closest_value.py diff --git a/algorithms/tree/bst/count_left_node.py b/docs/algorithms/tree/bst/count_left_node.py similarity index 100% rename from algorithms/tree/bst/count_left_node.py rename to docs/algorithms/tree/bst/count_left_node.py diff --git a/algorithms/tree/bst/delete_node.py b/docs/algorithms/tree/bst/delete_node.py similarity index 100% rename from algorithms/tree/bst/delete_node.py rename to docs/algorithms/tree/bst/delete_node.py diff --git a/algorithms/tree/bst/depth_sum.py b/docs/algorithms/tree/bst/depth_sum.py similarity index 100% rename from algorithms/tree/bst/depth_sum.py rename to docs/algorithms/tree/bst/depth_sum.py diff --git a/algorithms/tree/bst/height.py b/docs/algorithms/tree/bst/height.py similarity index 100% rename from algorithms/tree/bst/height.py rename to docs/algorithms/tree/bst/height.py diff --git a/algorithms/tree/bst/is_bst.py b/docs/algorithms/tree/bst/is_bst.py similarity index 100% rename from algorithms/tree/bst/is_bst.py rename to docs/algorithms/tree/bst/is_bst.py diff --git a/algorithms/tree/bst/kth_smallest.py b/docs/algorithms/tree/bst/kth_smallest.py similarity index 100% rename from algorithms/tree/bst/kth_smallest.py rename to docs/algorithms/tree/bst/kth_smallest.py diff --git a/algorithms/tree/bst/lowest_common_ancestor.py b/docs/algorithms/tree/bst/lowest_common_ancestor.py similarity index 100% rename from algorithms/tree/bst/lowest_common_ancestor.py rename to docs/algorithms/tree/bst/lowest_common_ancestor.py diff --git a/algorithms/tree/bst/num_empty.py b/docs/algorithms/tree/bst/num_empty.py similarity index 100% rename from algorithms/tree/bst/num_empty.py rename to docs/algorithms/tree/bst/num_empty.py diff --git a/algorithms/tree/bst/predecessor.py b/docs/algorithms/tree/bst/predecessor.py similarity index 100% rename from algorithms/tree/bst/predecessor.py rename to docs/algorithms/tree/bst/predecessor.py diff --git a/algorithms/tree/bst/serialize_deserialize.py b/docs/algorithms/tree/bst/serialize_deserialize.py similarity index 100% rename from algorithms/tree/bst/serialize_deserialize.py rename to docs/algorithms/tree/bst/serialize_deserialize.py diff --git a/algorithms/tree/bst/successor.py b/docs/algorithms/tree/bst/successor.py similarity index 100% rename from algorithms/tree/bst/successor.py rename to docs/algorithms/tree/bst/successor.py diff --git a/algorithms/tree/bst/unique_bst.py b/docs/algorithms/tree/bst/unique_bst.py similarity index 100% rename from algorithms/tree/bst/unique_bst.py rename to docs/algorithms/tree/bst/unique_bst.py diff --git a/algorithms/tree/construct_tree_postorder_preorder.py b/docs/algorithms/tree/construct_tree_postorder_preorder.py similarity index 100% rename from algorithms/tree/construct_tree_postorder_preorder.py rename to docs/algorithms/tree/construct_tree_postorder_preorder.py diff --git a/algorithms/tree/deepest_left.py b/docs/algorithms/tree/deepest_left.py similarity index 100% rename from algorithms/tree/deepest_left.py rename to docs/algorithms/tree/deepest_left.py diff --git a/algorithms/tree/fenwick_tree/fenwick_tree.py b/docs/algorithms/tree/fenwick_tree/fenwick_tree.py similarity index 100% rename from algorithms/tree/fenwick_tree/fenwick_tree.py rename to docs/algorithms/tree/fenwick_tree/fenwick_tree.py diff --git a/algorithms/tree/invert_tree.py b/docs/algorithms/tree/invert_tree.py similarity index 100% rename from algorithms/tree/invert_tree.py rename to docs/algorithms/tree/invert_tree.py diff --git a/algorithms/tree/is_balanced.py b/docs/algorithms/tree/is_balanced.py similarity index 100% rename from algorithms/tree/is_balanced.py rename to docs/algorithms/tree/is_balanced.py diff --git a/algorithms/tree/is_subtree.py b/docs/algorithms/tree/is_subtree.py similarity index 100% rename from algorithms/tree/is_subtree.py rename to docs/algorithms/tree/is_subtree.py diff --git a/algorithms/tree/is_symmetric.py b/docs/algorithms/tree/is_symmetric.py similarity index 100% rename from algorithms/tree/is_symmetric.py rename to docs/algorithms/tree/is_symmetric.py diff --git a/algorithms/tree/longest_consecutive.py b/docs/algorithms/tree/longest_consecutive.py similarity index 100% rename from algorithms/tree/longest_consecutive.py rename to docs/algorithms/tree/longest_consecutive.py diff --git a/algorithms/tree/lowest_common_ancestor.py b/docs/algorithms/tree/lowest_common_ancestor.py similarity index 100% rename from algorithms/tree/lowest_common_ancestor.py rename to docs/algorithms/tree/lowest_common_ancestor.py diff --git a/algorithms/tree/max_height.py b/docs/algorithms/tree/max_height.py similarity index 100% rename from algorithms/tree/max_height.py rename to docs/algorithms/tree/max_height.py diff --git a/algorithms/tree/max_path_sum.py b/docs/algorithms/tree/max_path_sum.py similarity index 100% rename from algorithms/tree/max_path_sum.py rename to docs/algorithms/tree/max_path_sum.py diff --git a/algorithms/tree/min_height.py b/docs/algorithms/tree/min_height.py similarity index 100% rename from algorithms/tree/min_height.py rename to docs/algorithms/tree/min_height.py diff --git a/algorithms/tree/path_sum.py b/docs/algorithms/tree/path_sum.py similarity index 100% rename from algorithms/tree/path_sum.py rename to docs/algorithms/tree/path_sum.py diff --git a/algorithms/tree/path_sum2.py b/docs/algorithms/tree/path_sum2.py similarity index 100% rename from algorithms/tree/path_sum2.py rename to docs/algorithms/tree/path_sum2.py diff --git a/algorithms/tree/pretty_print.py b/docs/algorithms/tree/pretty_print.py similarity index 100% rename from algorithms/tree/pretty_print.py rename to docs/algorithms/tree/pretty_print.py diff --git a/algorithms/tree/red_black_tree/red_black_tree.py b/docs/algorithms/tree/red_black_tree/red_black_tree.py similarity index 100% rename from algorithms/tree/red_black_tree/red_black_tree.py rename to docs/algorithms/tree/red_black_tree/red_black_tree.py diff --git a/algorithms/tree/same_tree.py b/docs/algorithms/tree/same_tree.py similarity index 100% rename from algorithms/tree/same_tree.py rename to docs/algorithms/tree/same_tree.py diff --git a/algorithms/tree/segment_tree/iterative_segment_tree.py b/docs/algorithms/tree/segment_tree/iterative_segment_tree.py similarity index 100% rename from algorithms/tree/segment_tree/iterative_segment_tree.py rename to docs/algorithms/tree/segment_tree/iterative_segment_tree.py diff --git a/algorithms/tree/segment_tree/segment_tree.py b/docs/algorithms/tree/segment_tree/segment_tree.py similarity index 100% rename from algorithms/tree/segment_tree/segment_tree.py rename to docs/algorithms/tree/segment_tree/segment_tree.py diff --git a/algorithms/tree/traversal/__init__.py b/docs/algorithms/tree/traversal/__init__.py similarity index 100% rename from algorithms/tree/traversal/__init__.py rename to docs/algorithms/tree/traversal/__init__.py diff --git a/algorithms/tree/traversal/inorder.py b/docs/algorithms/tree/traversal/inorder.py similarity index 100% rename from algorithms/tree/traversal/inorder.py rename to docs/algorithms/tree/traversal/inorder.py diff --git a/algorithms/tree/traversal/level_order.py b/docs/algorithms/tree/traversal/level_order.py similarity index 100% rename from algorithms/tree/traversal/level_order.py rename to docs/algorithms/tree/traversal/level_order.py diff --git a/algorithms/tree/traversal/postorder.py b/docs/algorithms/tree/traversal/postorder.py similarity index 100% rename from algorithms/tree/traversal/postorder.py rename to docs/algorithms/tree/traversal/postorder.py diff --git a/algorithms/tree/traversal/preorder.py b/docs/algorithms/tree/traversal/preorder.py similarity index 100% rename from algorithms/tree/traversal/preorder.py rename to docs/algorithms/tree/traversal/preorder.py diff --git a/algorithms/tree/traversal/zigzag.py b/docs/algorithms/tree/traversal/zigzag.py similarity index 100% rename from algorithms/tree/traversal/zigzag.py rename to docs/algorithms/tree/traversal/zigzag.py diff --git a/algorithms/tree/tree.py b/docs/algorithms/tree/tree.py similarity index 100% rename from algorithms/tree/tree.py rename to docs/algorithms/tree/tree.py diff --git a/algorithms/tree/trie/add_and_search.py b/docs/algorithms/tree/trie/add_and_search.py similarity index 100% rename from algorithms/tree/trie/add_and_search.py rename to docs/algorithms/tree/trie/add_and_search.py diff --git a/algorithms/tree/trie/trie.py b/docs/algorithms/tree/trie/trie.py similarity index 100% rename from algorithms/tree/trie/trie.py rename to docs/algorithms/tree/trie/trie.py diff --git a/algorithms/unionfind/count_islands.py b/docs/algorithms/unionfind/count_islands.py similarity index 100% rename from algorithms/unionfind/count_islands.py rename to docs/algorithms/unionfind/count_islands.py diff --git a/algorithms/unix/__init__.py b/docs/algorithms/unix/__init__.py similarity index 100% rename from algorithms/unix/__init__.py rename to docs/algorithms/unix/__init__.py diff --git a/algorithms/unix/path/full_path.py b/docs/algorithms/unix/path/full_path.py similarity index 100% rename from algorithms/unix/path/full_path.py rename to docs/algorithms/unix/path/full_path.py diff --git a/algorithms/unix/path/join_with_slash.py b/docs/algorithms/unix/path/join_with_slash.py similarity index 100% rename from algorithms/unix/path/join_with_slash.py rename to docs/algorithms/unix/path/join_with_slash.py diff --git a/algorithms/unix/path/simplify_path.py b/docs/algorithms/unix/path/simplify_path.py similarity index 100% rename from algorithms/unix/path/simplify_path.py rename to docs/algorithms/unix/path/simplify_path.py diff --git a/algorithms/unix/path/split.py b/docs/algorithms/unix/path/split.py similarity index 100% rename from algorithms/unix/path/split.py rename to docs/algorithms/unix/path/split.py From 54262230cb2dc93a611d139f5d5e39b66227ae96 Mon Sep 17 00:00:00 2001 From: Akarshan Gupta <115368981+AkarshanGupta@users.noreply.github.com> Date: Sat, 9 Mar 2024 12:40:07 +0530 Subject: [PATCH 2/2] updating the markdown --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 65caeb5ca..b5b27913d 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,7 @@ If you want to uninstall algorithms, it is as simple as: - [two_sum](algorithms/arrays/two_sum.py) - [move_zeros](algorithms/arrays/move_zeros.py) - [n_sum](algorithms/arrays/n_sum.py) + - [three_sums](algorithms/arrays/three_sums.py) - [greedy](algorithms/greedy/) - [max_contiguous_subsequence_sum](algorithms/greedy/max_contiguous_subsequence_sum.py) - [automata](algorithms/automata)