{"id":13714364,"url":"https://github.com/marcosfede/algorithms","last_synced_at":"2025-05-14T17:09:53.332Z","repository":{"id":20457661,"uuid":"89893640","full_name":"marcosfede/algorithms","owner":"marcosfede","description":"Solved algorithms and data structures problems in many languages","archived":false,"fork":false,"pushed_at":"2024-12-13T12:41:58.000Z","size":2016,"stargazers_count":1137,"open_issues_count":10,"forks_count":142,"subscribers_count":40,"default_branch":"master","last_synced_at":"2025-04-13T10:53:50.661Z","etag":null,"topics":["algorithm","bfs","competitive-programming","data-structures","go","golang","graph","hacktoberfest","heap","interview","interview-practice","javascript","language","python","ruby"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcosfede.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-01T03:08:34.000Z","updated_at":"2025-04-12T12:32:02.000Z","dependencies_parsed_at":"2024-01-06T13:16:20.532Z","dependency_job_id":"dd7fa04e-454f-4d8d-9cb6-49e643616a43","html_url":"https://github.com/marcosfede/algorithms","commit_stats":{"total_commits":308,"total_committers":20,"mean_commits":15.4,"dds":"0.47077922077922074","last_synced_commit":"1ee7c815f9d556c9cef4d4b0d21ee3a409d21629"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcosfede%2Falgorithms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcosfede%2Falgorithms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcosfede%2Falgorithms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcosfede%2Falgorithms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcosfede","download_url":"https://codeload.github.com/marcosfede/algorithms/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254190395,"owners_count":22029632,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","bfs","competitive-programming","data-structures","go","golang","graph","hacktoberfest","heap","interview","interview-practice","javascript","language","python","ruby"],"created_at":"2024-08-02T23:01:57.984Z","updated_at":"2025-05-14T17:09:53.312Z","avatar_url":"https://github.com/marcosfede.png","language":"Python","readme":"# Data Structure and Algorithmic Problems solved in many languages\n\n[![Join the chat at https://gitter.im/marcosfede/algorithms](https://badges.gitter.im/marcosfede/algorithms.svg)](https://gitter.im/marcosfede/algorithms?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n\nThis repository is inspired by [keon's](https://github.com/keon/algorithms) solved problems in Python 3.\nI wanted to compare solutions across different languages and learn them in the process.\nSolutions may be my own, or taken from the internet.\n\nClick on the icons to search by language\n\n\u003cp  align=\"center\"\u003e\n    \u003ca href=\"https://github.com/marcosfede/algorithms/search?utf8=%E2%9C%93\u0026q=language%3ARust\u0026type=\"\u003e\u003cimg height=\"70\" src=\"assets/rust.png\" alt=\"rust\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/marcosfede/algorithms/search?utf8=%E2%9C%93\u0026q=language%3AGo\u0026type=\"\u003e\u003cimg height=\"70\" src=\"assets/go.png\" alt=\"go\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/marcosfede/algorithms/search?utf8=%E2%9C%93\u0026q=language%3APython\u0026type=\"\u003e\u003cimg height=\"70\" src=\"assets/python.png\" alt=\"python\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/marcosfede/algorithms/search?utf8=%E2%9C%93\u0026q=language%3AJavascript\u0026type=\"\u003e\u003cimg height=\"70\" src=\"assets/javascript.png\" alt=\"javascript\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/marcosfede/algorithms/search?utf8=%E2%9C%93\u0026q=language%3AHaskell\u0026type=\"\u003e\u003cimg height=\"70\" src=\"assets/haskell.png\" alt=\"haskell\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/marcosfede/algorithms/search?utf8=%E2%9C%93\u0026q=language%3AJulia\u0026type=\"\u003e\u003cimg height=\"70\" src=\"assets/julia.png\" alt=\"julia\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/marcosfede/algorithms/search?utf8=%E2%9C%93\u0026q=language%3AElixir\u0026type=\"\u003e\u003cimg height=\"70\" src=\"assets/elixir.png\" alt=\"elixir\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/marcosfede/algorithms/search?utf8=%E2%9C%93\u0026q=language%3AScala\u0026type=\"\u003e\u003cimg height=\"70\" src=\"assets/scala.png\" alt=\"scala\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/marcosfede/algorithms/search?utf8=%E2%9C%93\u0026q=language%3ARuby\u0026type=\"\u003e\u003cimg height=\"60\" src=\"assets/ruby.png\" alt=\"ruby\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/marcosfede/algorithms/search?utf8=%E2%9C%93\u0026q=language%3AC++\u0026type=\"\u003e\u003cimg height=\"60\" src=\"assets/cpp.png\" alt=\"cpp\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## List of problems\n\n### Events\n\n#### Google Code Jam\n- [x] [googlecodejam](googlecodejam)\n  - [x] [2017](googlecodejam/2017)\n    - [x] [Oversized Pancake Flipper](googlecodejam/2017/Oversized%20Pancake%20Flipper)\n    - [x] [Tidy Numbers](googlecodejam/2017/Tidy%20Numbers)\n    - [x] [Fashion Show](googlecodejam/2017/Fashion%20Show)\n  - [x] [2018](googlecodejam/2018)\n    - [x] [Bathroom Stalls](googlecodejam/2018/Bathroom%20Stalls)\n    - [x] [Number Guessing](googlecodejam/2018/Number%20Guessing)\n    - [x] [Senate Evacuation](googlecodejam/2018/Senate%20Evacuation)\n    - [x] [Cruise Control](googlecodejam/2018/Cruise%20Control)\n    - [x] [Cube UFO](googlecodejam/2018/Cube%20UFO)\n    - [x] [Go Gopher](googlecodejam/2018/Go%20Gopher)\n    - [x] [Saving The Universe Again](googlecodejam/2018/Saving%20The%20Universe%20Again)\n    - [x] [Trouble Sort](googlecodejam/2018/Trouble%20Sort)\n    - [x] [Waffle Choppers](googlecodejam/2018/Waffle%20Choppers)\n    - [x] [Lollipop Shop](googlecodejam/2018/Lollipop%20Shop)\n    - [x] [Rounding Error](googlecodejam/2018/Cryptopangrams)\n  - [x] [2019](googlecodejam/2019)\n    - [x] [Cryptopangrams](googlecodejam/2019/Rounding%20Error)\n    - [x] [Dat Bae](googlecodejam/2019/Dat%20Bae)\n    - [x] [Foregone Solution](googlecodejam/2019/Foregone%20Solution)\n    - [x] [You Can Go Your Own Way](googlecodejam/2019/You%20Can%20Go%20Your%20Own%20Way)\n\n#### Advent of Code\n\n- [x] [adventofcode](adventofcode)\n  - [ ] [2018](adventofcode/2018)\n    - [x] [1](adventofcode/2018/1)\n    - [x] [2](adventofcode/2018/2)\n    - [x] [3](adventofcode/2018/3)\n    - [x] [4](adventofcode/2018/4)\n    - [x] [5](adventofcode/2018/5)\n    - [x] [6](adventofcode/2018/6)\n    - [x] [7](adventofcode/2018/7)\n    - [x] [8](adventofcode/2018/8)\n    - [x] [9](adventofcode/2018/9)\n    - [x] [10](adventofcode/2018/10)\n    - [x] [11](adventofcode/2018/11)\n    - [x] [12](adventofcode/2018/12)\n    - [x] [13](adventofcode/2018/13)\n    - [x] [14](adventofcode/2018/14)\n    - [x] [15](adventofcode/2018/15)\n    - [x] [16](adventofcode/2018/16)\n    - [x] [17](adventofcode/2018/17)\n    - [x] [18](adventofcode/2018/18)\n    - [x] [19](adventofcode/2018/19)\n    - [x] [20](adventofcode/2018/20)\n    - [x] [21](adventofcode/2018/21)\n    - [x] [22](adventofcode/2018/22)\n    - [x] [23](adventofcode/2018/23)\n    - [ ] [24](adventofcode/2018/24)\n    - [ ] [25](adventofcode/2018/25)\n\n  - [x] [2019](adventofcode/2019)\n    - [x] [d1](adventofcode/2019/d1)\n    - [x] [d2](adventofcode/2019/d2)\n    - [x] [d3](adventofcode/2019/d3)\n    - [x] [d4](adventofcode/2019/d4)\n    - [x] [d5](adventofcode/2019/d5)\n    - [x] [d6](adventofcode/2019/d6)\n    - [x] [d7](adventofcode/2019/d7)\n    - [x] [d8](adventofcode/2019/d8)\n\n### Data Structures\n- [x] [array](array)\n  - [x] [circular_counter](array/circular_counter)\n  - [x] [flatten](array/flatten)\n  - [x] [garage](array/garage)\n  - [x] [golf_bot](array/golf_bot)\n  - [x] [longest_non_repeat](array/longest_non_repeat)\n  - [x] [merge_intervals](array/merge_intervals)\n  - [x] [missing_ranges](array/missing_ranges)\n  - [x] [plus_one](array/plus_one)\n  - [x] [rotate_array](array/rotate_array)\n  - [x] [summary_ranges](array/summary_ranges)\n  - [x] [three_sum](array/three_sum)\n  - [x] [two_sum](array/two_sum)\n- [ ] [backtrack](backtrack)\n  - [x] [anagram](backtrack/anagram)\n  - [x] [array_sum_combinations](backtrack/array_sum_combination)\n  - [x] [combination_sum](backtrack/combination_sum)\n  - [x] [expression_add_operators](backtrack/expression_add_operators.py)\n  - [x] [factor_combinations](backtrack/factor_combinations/factor_combinations.py)\n  - [ ] [generate_abbreviations](backtrack/generate_abbreviations.py)\n  - [ ] [generate_parenthesis](backtrack/generate_parenthesis.py)\n  - [ ] [letter_combination](backtrack/letter_combination.py)\n  - [ ] [palindrome_partitioning](backtrack/palindrome_partitioning.py)\n  - [ ] [pattern_match](backtrack/pattern_match.py)\n  - [ ] [permute](backtrack/permute.py)\n  - [ ] [permute_unique](backtrack/permute_unique.py)\n  - [ ] [subsets](backtrack/subsets.py)\n  - [ ] [subsets_unique](backtrack/subsets_unique.py)\n- [ ] [bfs](bfs) \n  - [x] [puzzle_game](bfs/puzzle_game)\n  - [ ] [shortest_distance_from_all_buildings](bfs/shortest_distance_from_all_buildings.py)\n  - [ ] [word_ladder](bfs/word_ladder.py)\n- [ ] [bit](bit)\n  - [ ] [bytes_int_conversion](bit/bytes_int_conversion.py)\n  - [ ] [count_ones](bit/count_ones.py)\n  - [ ] [find_missing_number](bit/find_missing_number.py)\n  - [ ] [power_of_two](bit/power_of_two.py)\n  - [ ] [reverse_bits](bit/reverse_bits.py)\n  - [ ] [single_number2](bit/single_number2.py)\n  - [ ] [single_number](bit/single_number.py)\n  - [ ] [subsets](bit/subsets.py)\n  - [ ] [add_without_operator](bit/add_without_operator.py)\n- [ ] [calculator](calculator)\n  - [ ] [math_parser](calculator/math_parser.py)\n- [ ] [dfs](dfs)\n  - [ ] [all_factors](dfs/all_factors.py)\n  - [x] [count_islands](dfs/count_islands.py)\n  - [ ] [pacific_atlantic](dfs/pacific_atlantic.py)\n  - [ ] [sudoku_solver](dfs/sudoku_solver.py)\n  - [ ] [walls_and_gates](dfs/walls_and_gates.py)\n- [ ] [dp](dp)\n  - [ ] [buy_sell_stock](dp/buy_sell_stock.py)\n  - [ ] [climbing_stairs](dp/climbing_stairs.py)\n  - [ ] [coin_change](dp/coin_change.py)\n  - [ ] [combination_sum](dp/combination_sum.py)\n  - [ ] [egg_drop](dp/egg_drop.py)\n  - [ ] [house_robber](dp/house_robber.py)\n  - [ ] [job_scheduling](dp/job_scheduling.py)\n  - [ ] [knapsack](dp/knapsack.py)\n  - [ ] [longest_increasing](dp/longest_increasing.py)\n  - [ ] [matrix_chain_order](dp/matrix_chain_order.py)\n  - [ ] [max_product_subarray](dp/max_product_subarray.py)\n  - [ ] [max_subarray](dp/max_subarray.py)\n  - [ ] [min_cost_path](dp/min_cost_path.py)\n  - [ ] [num_decodings](dp/num_decodings.py)\n  - [ ] [regex_matching](dp/regex_matching.py)\n  - [ ] [rod_cut](dp/rod_cut.py)\n  - [ ] [word_break](dp/word_break.py)\n- [ ] [graph](graph)\n  - [ ] [strongly_connected](graph/checkDiGraphStronglyConnected.py)\n  - [ ] [clone_graph](graph/clone_graph.py)\n  - [ ] [cycle_detection](graph/cycle_detection.py)\n  - [ ] [find_all_cliques](graph/find_all_cliques.py)\n  - [ ] [find_path](graph/find_path.py)\n  - [ ] [graph](graph/graph.py)\n  - [ ] [markov_chain](graph/markov_chain.py)\n  - [ ] [minimum_spanning_tree](graph/minimum_spanning_tree.py)\n  - [ ] [satisfiability](graph/satisfiability.py)\n  - [ ] [tarjan](graph/tarjan.py)\n  - [ ] [traversal](graph/traversal.py)\n- [ ] [heap](heap)\n  - [ ] [merge_sorted_k_lists](heap/merge_sorted_k_lists.py)\n  - [ ] [skyline](heap/skyline.py)\n  - [ ] [sliding_window_max](heap/sliding_window_max.py)\n- [ ] [linkedlist](linkedlist)\n  - [ ] [add_two_numbers](linkedlist/add_two_numbers.py)\n  - [ ] [copy_random_pointer](linkedlist/copy_random_pointer.py)\n  - [ ] [delete_node](linkedlist/delete_node.py)\n  - [ ] [first_cyclic_node](linkedlist/first_cyclic_node.py)\n  - [x] [is_cyclic](linkedlist/is_cyclic.py)\n  - [ ] [is_palindrome](linkedlist/is_palindrome.py)\n  - [ ] [kth_to_last](linkedlist/kth_to_last.py)\n  - [ ] [linkedlist](linkedlist/linkedlist.py)\n  - [ ] [remove_duplicates](linkedlist/remove_duplicates.py)\n  - [ ] [reverse](linkedlist/reverse.py)\n  - [ ] [rotate_list](linkedlist/rotate_list.py)\n  - [ ] [swap_in_pairs](linkedlist/swap_in_pairs.py)\n- [ ] [map](map)\n  - [ ] [hashtable](map/hashtable.py)\n  - [ ] [longest_common_subsequence](map/longest_common_subsequence.py)\n  - [ ] [randomized_set](map/randomized_set.py)\n  - [ ] [valid_sudoku](map/valid_sudoku.py)\n- [ ] [maths](maths)\n  - [ ] [base_conversion](maths/base_conversion.py)\n  - [ ] [extended_gcd](maths/extended_gcd.py)\n  - [ ] [gcd/lcm](maths/gcd.py)\n  - [ ] [generate_strobogrammtic](maths/generate_strobogrammtic.py)\n  - [ ] [is_strobogrammatic](maths/is_strobogrammatic.py)\n  - [ ] [next_perfect_square](maths/next_perfect_square.py)\n  - [ ] [nth_digit](maths/nth_digit.py)\n  - [ ] [prime_test](maths/prime_test.py)\n  - [ ] [primes_sieve_of_eratosthenes](maths/primes_sieve_of_eratosthenes.py)\n  - [ ] [pythagoras](maths/pythagoras.py)\n  - [ ] [rabin_miller](maths/rabin_miller.py)\n  - [ ] [rsa](maths/rsa.py)\n  - [ ] [sqrt_precision_factor](maths/sqrt_precision_factor.py)\n- [ ] [matrix](matrix)\n  - [ ] [bomb_enemy](matrix/bomb_enemy.py)\n  - [ ] [copy_transform](matrix/copy_transform.py)\n  - [ ] [count_paths](matrix/count_paths.py)\n  - [ ] [matrix_rotation.txt](matrix/matrix_rotation.txt)\n  - [ ] [rotate_image](matrix/rotate_image.py)\n  - [ ] [search_in_sorted_matrix](matrix/search_in_sorted_matrix.py)\n  - [ ] [sparse_dot_vector](matrix/sparse_dot_vector.py)\n  - [ ] [sparse_mul](matrix/sparse_mul.py)\n  - [ ] [spiral_traversal](matrix/spiral_traversal.py)\n- [ ] [queues](queues)\n  - [ ] [max_sliding_window](queues/max_sliding_window.py)\n  - [ ] [moving_average](queues/moving_average.py)\n  - [ ] [queue](queues/queue.py)\n  - [ ] [reconstruct_queue](queues/reconstruct_queue.py)\n  - [ ] [zigzagiterator](queues/zigzagiterator.py)\n- [ ] [search](search)\n  - [ ] [binary_search](search/binary_search.py)\n  - [ ] [first_occurance](search/first_occurance.py)\n  - [ ] [last_occurance](search/last_occurance.py)\n- [ ] [set](set)\n  - [ ] [randomized_set](set/randomized_set.py)\n  - [ ] [set_covering](set/set_covering.py)\n- [ ] [sort](sort)\n  - [ ] [bubble_sort](sort/bubble_sort.py)\n  - [ ] [comb_sort](sort/comb_sort.py)\n  - [ ] [counting_sort](sort/counting_sort.py)\n  - [ ] [heap_sort](sort/heap_sort.py)\n  - [ ] [insertion_sort](sort/insertion_sort.py)\n  - [ ] [meeting_rooms](sort/meeting_rooms.py)\n  - [ ] [merge_sort](sort/merge_sort.py)\n  - [ ] [quick_sort](sort/quick_sort.py)\n  - [ ] [selection_sort](sort/selection_sort.py)\n  - [ ] [sort_colors](sort/sort_colors.py)\n  - [ ] [topsort](sort/topsort.py)\n  - [ ] [wiggle_sort](sort/wiggle_sort.py)\n- [ ] [stack](stack)\n  - [ ] [longest_abs_path](stack/longest_abs_path.py)\n  - [ ] [simplify_path](stack/simplify_path.py)\n  - [ ] [stack](stack/stack.py)\n  - [ ] [valid_parenthesis](stack/valid_parenthesis.py)\n- [ ] [strings](strings)\n  - [x] [molecules_to_atoms](strings/molecules_to_atoms)\n  - [ ] [add_binary](strings/add_binary.py)\n  - [ ] [breaking_bad](strings/breaking_bad.py)\n  - [ ] [decode_string](strings/decode_string.py)\n  - [ ] [encode_decode](strings/encode_decode.py)\n  - [ ] [group_anagrams](strings/group_anagrams.py)\n  - [ ] [int_to_roman](strings/int_to_roman.py)\n  - [ ] [is_palindrome](strings/is_palindrome.py)\n  - [ ] [license_number](strings/license_number.py)\n  - [ ] [make_sentence](strings/make_sentence.py)\n  - [ ] [multiply_strings](strings/multiply_strings.py)\n  - [ ] [one_edit_distance](strings/one_edit_distance.py)\n  - [ ] [rabin_karp](strings/rabin_karp.py)\n  - [ ] [reverse_string](strings/reverse_string.py)\n  - [ ] [reverse_vowel](strings/reverse_vowel.py)\n  - [ ] [reverse_words](strings/reverse_words.py)\n  - [ ] [roman_to_int](strings/roman_to_int.py)\n  - [ ] [word_squares](strings/word_squares.py)\n\n- [ ] [tree](tree)\n  - [ ] [binary_tree](tree/binary_tree)\n    - [x] [binary_tree](tree/binary_tree/binary_tree)\n    - [x] [binary_tree_paths](tree/binary_tree/binary_tree_paths)\n    - [x] [deepest_left](tree/binary_tree/deepest_left)\n    - [x] [invert_tree](tree/binary_tree/invert_tree)\n    - [x] [is_balanced](tree/binary_tree/is_balanced)\n    - [x] [is_same_tree](tree/binary_tree/is_same_tree)\n    - [x] [is_subtree](tree/binary_tree/is_subtree)\n    - [x] [is_symmetric](tree/binary_tree/is_symmetric)\n    - [ ] [longest_consecutive_sequence](tree/binary_tree/longest_consecutive_sequence)\n    - [ ] [lowest_common_ancestor](tree/binary_tree/lowest_common_ancestor)\n    - [ ] [max_height](tree/binary_tree/max_height)\n    - [ ] [min_height](tree/binary_tree/max_height)\n    - [ ] [path_sum](tree/binary_tree/path_sum)\n    - [ ] [serialize_deserialize](tree/binary_tree/serialize_deserialize)\n    - [ ] [traversal](tree/traversal)\n      - [ ] [inorder](tree/traversal/inorder)\n      - [ ] [level_order](tree/traversal/level_order)\n      - [ ] [zigzag](tree/traversal/zigzag)\n  - [ ] [binary_search_tree](tree/binary_search_tree)\n    - [ ] [array2bst](tree/binary_search_tree/array2bst)\n    - [ ] [binary_search_tree](tree/binary_search_tree/binary_search_tree)\n    - [ ] [bst_closest_value](tree/binary_search_tree/bst_closest_value)\n    - [ ] [BSTIterator](tree/binary_search_tree/BSTIterator)\n    - [ ] [delete_node](tree/binary_search_tree/delete_node)\n    - [ ] [is_valid_bst](tree/binary_search_tree/is_valid_bst)\n    - [ ] [kth_smallest](tree/binary_search_tree/kth_smallest)\n    - [ ] [lowest_common_ancestor](tree/binary_search_tree/lowest_common_ancestor)\n    - [ ] [unique_bst](tree/binary_search_tree/unique_bst)\n  - [ ] [red_black_tree](tree/red_black_tree)\n    - [ ] [red_black_tree](tree/red_black_tree)\n  - [ ] [segment_tree](tree/segment_tree)\n    - [ ] [segment_tree](tree/segment_tree)\n  - [ ] [trie](tree/trie)\n    - [ ] [add_and_search](tree/trie/add_and_search)\n    - [ ] [trie](tree/trie/trie)\n\n- [x] [union-find](union-find)\n  - [x] [count_islands](union-find/count_islands.py)\n\n## List of Designs\n\n- [design](design)\n  - [ ] [alarm_system](design/alarm_system.md)\n  - [ ] [all_o_one_ds](design/all_o_one_ds.md)\n  - [ ] [excel_table](design/excel_table.md)\n  - [ ] [LRUcache](design/LRUcache.md)\n  - [ ] [nearby_drivers](design/nearby_drivers.md)\n  - [ ] [ride_sharing](design/ride_sharing.md)\n  - [ ] [task_runner](design/task_runner.md)\n  - [ ] [twitter_feeds](design/twitter_feeds.md)\n\n## Contributing\n\nI'd love to have contributors, all feedback is welcome! Take a look at [CONTRIBUTING](CONTRIBUTING.md)\n\n## Additional resources\n\n- [keon/algorithms](https://github.com/keon/algorithms)\n- [lndgalante/codewars-katas](https://github.com/lndgalante/codewars-katas)\n","funding_links":[],"categories":["Python","优质的 Github 库","Computer Science"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcosfede%2Falgorithms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcosfede%2Falgorithms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcosfede%2Falgorithms/lists"}