algorithms-scala
algorithms-scala copied to clipboard
:bulb: Minimal examples of data structures and algorithms in Scala
Scala Data Structures and Algorithms 
Minimal and clean example implementations of data structures and algorithms in Scala.
Forked from keon/algorithms
List of Implementations
Checked implementations are written in scala. If not, those are not converted to scala yet.
- array
- [x] CircularCounter
- [x] Flatten
- [x] Garage
- [x] LongestNonRepeat
- [x] MergeIntervals
- [x] MissingRanges
- plus_one
- [x] RotateArray
- summary_ranges
- [x] ThreeSum
- [x] TwoSum
- backtrack
- general_solution.md
- anagram
- array_sum_combinations
- combination_sum
- expression_add_operators
- factor_combinations
- generate_abbreviations
- generate_parenthesis
- letter_combination
- palindrome_partitioning
- pattern_match
- permute
- permute_unique
- subsets
- subsets_unique
- bfs
- shortest_distance_from_all_buildings
- word_ladder
- bit
- bytes_int_conversion
- count_ones
- find_missing_number
- power_of_two
- reverse_bits
- single_number2
- single_number
- subsets
- add_without_operator
- calculator
- math_parser
- dfs
- all_factors
- count_islands
- pacific_atlantic
- sudoku_solver
- walls_and_gates
- dp
- buy_sell_stock
- climbing_stairs
- combination_sum
- house_robber
- longest_increasing
- max_product_subarray
- max_subarray
- num_decodings
- regex_matching
- word_break
- graph
- clone_graph
- find_path
- graph
- traversal
- heap
- merge_sorted_k_lists
- skyline
- sliding_window_max
- linkedlist
- add_two_numbers
- copy_random_pointer
- delete_node
- first_cyclic_node
- is_cyclic
- is_palindrome
- kth_to_last
- linkedlist
- remove_duplicates
- reverse
- rotate_list
- swap_in_pairs
- map
- hashtable
- longest_common_subsequence
- randomized_set
- valid_sudoku
- math
- extended_gcd
- gcd/lcm
- prime_test
- primes_sieve_of_eratosthenes
- generate_strobogrammtic
- is_strobogrammatic
- nth_digit
- rabin_miller
- rsa
- sqrt_precision_factor
- pythagoras
- matrix
- matrix_rotation.txt
- bomb_enemy
- rotate_image
- sparse_dot_vector
- sparse_mul
- spiral_traversal
- count_paths
- queue
- max_sliding_window
- moving_average
- queue
- reconstruct_queue
- zigzagiterator
- search
- binary_search
- count_elem
- first_occurance
- last_occurance
- set
- randomized_set
- sort
- insertion_sort
- meeting_rooms
- merge_sort
- quick_sort
- selection_sort
- sort_colors
- topsort
- wiggle_sort
- counting_sort
- stack
- longest_abs_path
- simplify_path
- stack
- valid_parenthesis
- string
- add_binary
- breaking_bad
- decode_string
- encode_decode
- group_anagrams
- int_to_roman
- is_palindrome
- license_number
- make_sentence
- multiply_strings
- one_edit_distance
- rabin_karp
- reverse_string
- reverse_vowel
- reverse_words
- roman_to_int
- word_squares
- tree
- segment-tree
- segment_tree
- binary_tree_paths
- bintree2list
- bst
- array2bst
- bst_closest_value
- BSTIterator
- delete_node
- is_bst
- kth_smallest
- lowest_common_ancestor
- predecessor
- serialize_deserialize
- successor
- unique_bst
- deepest_left
- invert_tree
- is_balanced
- is_subtree
- is_symmetric
- longest_consecutive
- lowest_common_ancestor
- max_height
- max_path_sum
- min_height
- path_sum2
- path_sum
- pretty_print
- same_tree
- traversal
- inorder
- level_order
- zigzag
- tree
- trie
- add_and_search
- trie
- segment-tree
- union-find
- count_islands
List of Designs
- design
- alarm_system
- all_o_one_ds
- excel_table
- LRUcache
- nearby_drivers
- ride_sharing
- task_runner
- twitter_feeds
How to contribute
Please read CONTRIBUTING.md