├── src ├── graphs │ ├── python │ │ ├── bfs │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── dfs │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── a_star │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── dijkstra │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── graph │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── kruskal │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── prim │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── bellman_ford │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ └── eulerian_path │ │ │ └── __init__.py │ └── cpp │ │ ├── prim │ │ ├── src │ │ │ ├── prim.h │ │ │ └── CMakeLists.txt │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── kruskal │ │ ├── src │ │ │ ├── kruskal.h │ │ │ └── CMakeLists.txt │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── bfs │ │ ├── src │ │ │ ├── bfs.h │ │ │ └── CMakeLists.txt │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── dfs │ │ ├── src │ │ │ ├── dfs.h │ │ │ └── CMakeLists.txt │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── dijkstra │ │ ├── src │ │ │ ├── dijkstra.h │ │ │ └── CMakeLists.txt │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── bellman_ford │ │ ├── src │ │ │ ├── bellman_ford.h │ │ │ └── CMakeLists.txt │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── graph │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── src │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ └── a_star │ │ ├── test │ │ ├── main.cpp │ │ └── CMakeLists.txt │ │ ├── src │ │ ├── a_star.h │ │ └── CMakeLists.txt │ │ ├── cmake │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt ├── backtracking │ ├── python │ │ ├── minimax │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── knight_tour │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── all_combinations │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ ├── __init__.py │ │ │ │ └── all_combinations.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── all_permutations │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ ├── __init__.py │ │ │ │ └── all_permutations.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── generating_words │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── hamiltonian_paths │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── string_pattern │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── topological_sort │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ └── k_colorable_configurations │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ └── __init__.py │ │ │ └── tests │ │ │ └── __init__.py │ └── cpp │ │ ├── all_combinations │ │ ├── src │ │ │ ├── all_combinations.h │ │ │ └── CMakeLists.txt │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── knight_tour │ │ ├── src │ │ │ ├── knight_tour.h │ │ │ └── CMakeLists.txt │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── string_pattern │ │ ├── src │ │ │ ├── string_pattern.h │ │ │ └── CMakeLists.txt │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── all_permutations │ │ ├── src │ │ │ ├── all_permutations.h │ │ │ └── CMakeLists.txt │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── minimax │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── src │ │ │ ├── CMakeLists.txt │ │ │ └── minimax.h │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── generating_words │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── src │ │ │ ├── generating_words.h │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── hamiltonian_paths │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── src │ │ │ ├── CMakeLists.txt │ │ │ └── hamiltonian_paths.h │ │ └── cmake │ │ │ └── googletest-download.cmake │ │ ├── topological_sort │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── src │ │ │ ├── CMakeLists.txt │ │ │ └── topological_sort.h │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ └── k_colorable_configurations │ │ ├── test │ │ ├── main.cpp │ │ └── CMakeLists.txt │ │ ├── src │ │ ├── CMakeLists.txt │ │ └── k_colorable_configurations.h │ │ └── cmake │ │ └── googletest-download.cmake ├── sorting │ ├── python │ │ ├── heap_sort │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── merge_sort │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── quick_sort │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── insertion_sort │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ ├── __init__.py │ │ │ │ └── insertion_sort.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ └── selection_sort │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ ├── __init__.py │ │ │ └── selection_sort.py │ │ │ └── tests │ │ │ └── __init__.py │ └── cpp │ │ ├── selection_sort │ │ ├── src │ │ │ ├── selection_sort.h │ │ │ ├── CMakeLists.txt │ │ │ └── selection_sort.cpp │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── heap_sort │ │ ├── src │ │ │ ├── heap_sort.h │ │ │ └── CMakeLists.txt │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── merge_sort │ │ ├── src │ │ │ ├── merge_sort.h │ │ │ └── CMakeLists.txt │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── quick_sort │ │ ├── src │ │ │ ├── quick_sort.h │ │ │ └── CMakeLists.txt │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ └── insertion_sort │ │ ├── src │ │ ├── insertion_sort.h │ │ ├── CMakeLists.txt │ │ └── insertion_sort.cpp │ │ ├── test │ │ ├── main.cpp │ │ └── CMakeLists.txt │ │ ├── cmake │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt ├── brain_teasers │ ├── cpp │ │ ├── bst_to_list │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── array_product │ │ │ ├── test │ │ │ │ ├── main.cpp │ │ │ │ └── CMakeLists.txt │ │ │ ├── src │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── stack.h │ │ │ ├── cmake │ │ │ │ └── googletest-download.cmake │ │ │ └── CMakeLists.txt │ │ ├── lru_cache │ │ │ ├── test │ │ │ │ ├── main.cpp │ │ │ │ └── CMakeLists.txt │ │ │ ├── src │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── stack.h │ │ │ ├── cmake │ │ │ │ └── googletest-download.cmake │ │ │ └── CMakeLists.txt │ │ ├── subarray_sum │ │ │ ├── test │ │ │ │ ├── main.cpp │ │ │ │ └── CMakeLists.txt │ │ │ ├── src │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── stack.h │ │ │ ├── cmake │ │ │ │ └── googletest-download.cmake │ │ │ └── CMakeLists.txt │ │ ├── add_string_numbers │ │ │ ├── test │ │ │ │ ├── main.cpp │ │ │ │ └── CMakeLists.txt │ │ │ ├── src │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── stack.h │ │ │ ├── cmake │ │ │ │ └── googletest-download.cmake │ │ │ └── CMakeLists.txt │ │ ├── k_closest_points │ │ │ ├── test │ │ │ │ ├── main.cpp │ │ │ │ └── CMakeLists.txt │ │ │ ├── src │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── stack.h │ │ │ ├── cmake │ │ │ │ └── googletest-download.cmake │ │ │ └── CMakeLists.txt │ │ ├── randomize_array │ │ │ ├── test │ │ │ │ ├── main.cpp │ │ │ │ └── CMakeLists.txt │ │ │ ├── src │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── stack.h │ │ │ ├── cmake │ │ │ │ └── googletest-download.cmake │ │ │ ├── CMakeLists.txt │ │ │ └── README.md │ │ ├── range_sum_of_bst │ │ │ ├── test │ │ │ │ ├── main.cpp │ │ │ │ └── CMakeLists.txt │ │ │ ├── src │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── stack.h │ │ │ ├── cmake │ │ │ │ └── googletest-download.cmake │ │ │ └── CMakeLists.txt │ │ ├── design_browser_history │ │ │ ├── test │ │ │ │ ├── main.cpp │ │ │ │ └── CMakeLists.txt │ │ │ ├── src │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── stack.h │ │ │ ├── cmake │ │ │ │ └── googletest-download.cmake │ │ │ └── CMakeLists.txt │ │ ├── lowest_common_ancestor │ │ │ ├── test │ │ │ │ ├── main.cpp │ │ │ │ └── CMakeLists.txt │ │ │ ├── src │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── stack.h │ │ │ ├── cmake │ │ │ │ └── googletest-download.cmake │ │ │ └── CMakeLists.txt │ │ ├── sparse_vectors_product │ │ │ ├── test │ │ │ │ ├── main.cpp │ │ │ │ └── CMakeLists.txt │ │ │ ├── src │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── stack.h │ │ │ ├── cmake │ │ │ │ └── googletest-download.cmake │ │ │ └── CMakeLists.txt │ │ ├── binary_tree_right_side_view │ │ │ ├── test │ │ │ │ ├── main.cpp │ │ │ │ └── CMakeLists.txt │ │ │ ├── src │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── stack.h │ │ │ └── cmake │ │ │ │ └── googletest-download.cmake │ │ ├── score_after_flipping_matrix │ │ │ ├── test │ │ │ │ ├── main.cpp │ │ │ │ └── CMakeLists.txt │ │ │ ├── src │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── stack.h │ │ │ └── cmake │ │ │ │ └── googletest-download.cmake │ │ ├── is_palindrome_after_char_deletion │ │ │ ├── test │ │ │ │ ├── main.cpp │ │ │ │ └── CMakeLists.txt │ │ │ ├── src │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── stack.h │ │ │ └── cmake │ │ │ │ └── googletest-download.cmake │ │ └── deletions_to_make_valid_parentheses │ │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ │ ├── src │ │ │ ├── CMakeLists.txt │ │ │ └── stack.h │ │ │ └── cmake │ │ │ └── googletest-download.cmake │ └── python │ │ ├── bst_to_list │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── tests │ │ │ └── __init__.py │ │ ├── lru_cache │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── tests │ │ │ └── __init__.py │ │ ├── array_product │ │ ├── __init__.py │ │ ├── src │ │ │ ├── __init__.py │ │ │ └── array_product.py │ │ └── tests │ │ │ └── __init__.py │ │ ├── k_closest_points │ │ ├── __init__.py │ │ ├── src │ │ │ ├── __init__.py │ │ │ └── k_closest_points.py │ │ └── tests │ │ │ └── __init__.py │ │ ├── randomize_array │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── tests │ │ │ └── __init__.py │ │ ├── range_sum_of_bst │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── tests │ │ │ └── __init__.py │ │ ├── subarray_sum │ │ ├── __init__.py │ │ ├── src │ │ │ ├── __init__.py │ │ │ └── subarray_sum.py │ │ └── tests │ │ │ └── __init__.py │ │ ├── add_string_numbers │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── tests │ │ │ └── __init__.py │ │ ├── design_browser_history │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── tests │ │ │ └── __init__.py │ │ ├── lowest_common_ancestor │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── tests │ │ │ └── __init__.py │ │ ├── sparse_vectors_product │ │ ├── __init__.py │ │ ├── src │ │ │ ├── __init__.py │ │ │ └── sparse_vectors_product.py │ │ └── tests │ │ │ └── __init__.py │ │ ├── binary_tree_right_side_view │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── tests │ │ │ └── __init__.py │ │ ├── score_after_flipping_matrix │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── tests │ │ │ └── __init__.py │ │ ├── deletions_to_make_valid_parentheses │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── tests │ │ │ └── __init__.py │ │ └── is_palindrome_after_char_deletion │ │ ├── __init__.py │ │ ├── src │ │ └── __init__.py │ │ └── tests │ │ └── __init__.py ├── dynamic_programming │ ├── python │ │ ├── coins │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── kmp │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── best_sum │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── can_sum │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── fibonacci │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ ├── __init__.py │ │ │ │ └── fib.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── how_sum │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── all_construct │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── can_construct │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── climbing_stairs │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── count_construct │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── grid_traveler │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── longest_common_subsequence │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ ├── longest_increasing_subarray │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ │ └── __init__.py │ │ │ └── tests │ │ │ │ └── __init__.py │ │ └── minimum_insertions_for_palindrome │ │ │ ├── __init__.py │ │ │ ├── src │ │ │ └── __init__.py │ │ │ └── tests │ │ │ └── __init__.py │ └── cpp │ │ ├── fibonacci │ │ ├── src │ │ │ ├── fibonacci.h │ │ │ └── CMakeLists.txt │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── kmp │ │ ├── src │ │ │ ├── kmp.h │ │ │ └── CMakeLists.txt │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── grid_traveler │ │ ├── src │ │ │ ├── grid_travelers.h │ │ │ └── CMakeLists.txt │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ └── cmake │ │ │ └── googletest-download.cmake │ │ ├── can_sum │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── src │ │ │ ├── CMakeLists.txt │ │ │ └── can_sum.h │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── climb_stairs │ │ ├── src │ │ │ ├── climb.h │ │ │ └── CMakeLists.txt │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── coins │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── src │ │ │ ├── CMakeLists.txt │ │ │ └── coin_change.h │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── how_sum │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── src │ │ │ ├── CMakeLists.txt │ │ │ └── how_sum.h │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── best_sum │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── src │ │ │ ├── CMakeLists.txt │ │ │ └── best_sum.h │ │ ├── cmake │ │ │ └── googletest-download.cmake │ │ └── CMakeLists.txt │ │ ├── all_construct │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── src │ │ │ ├── CMakeLists.txt │ │ │ └── all_construct.h │ │ └── cmake │ │ │ └── googletest-download.cmake │ │ ├── can_construct │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── src │ │ │ ├── CMakeLists.txt │ │ │ └── can_construct.h │ │ └── cmake │ │ │ └── googletest-download.cmake │ │ ├── count_construct │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── src │ │ │ ├── CMakeLists.txt │ │ │ └── count_construct.h │ │ └── cmake │ │ │ └── googletest-download.cmake │ │ ├── longest_common_subsequence │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── src │ │ │ ├── CMakeLists.txt │ │ │ └── longest_common_subsequence.h │ │ └── cmake │ │ │ └── googletest-download.cmake │ │ ├── longest_increasing_subarray │ │ ├── test │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── src │ │ │ ├── longest_increasing_subarray.h │ │ │ └── CMakeLists.txt │ │ └── cmake │ │ │ └── googletest-download.cmake │ │ └── minimum_insertions_for_palindrome │ │ ├── test │ │ ├── main.cpp │ │ └── CMakeLists.txt │ │ ├── src │ │ ├── minimum_insertions_for_palindrome.h │ │ └── CMakeLists.txt │ │ └── cmake │ │ └── googletest-download.cmake └── collections_and_containers │ ├── python │ ├── avl_tree │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── test │ │ │ └── __init__.py │ ├── heap │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── test │ │ │ └── __init__.py │ ├── stack │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── test │ │ │ └── __init__.py │ ├── vector │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── test │ │ │ └── __init__.py │ ├── hash_table │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── test │ │ │ └── __init__.py │ ├── linked_list │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── test │ │ │ └── __init__.py │ ├── simple_queue │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── test │ │ │ └── __init__.py │ ├── binary_search_tree │ │ ├── __init__.py │ │ ├── src │ │ │ └── __init__.py │ │ └── test │ │ │ └── __init__.py │ └── red_black_tree │ │ ├── __init__.py │ │ ├── src │ │ └── __init__.py │ │ └── test │ │ └── __init__.py │ └── cpp │ ├── heap │ ├── test │ │ ├── main.cpp │ │ └── CMakeLists.txt │ ├── src │ │ └── CMakeLists.txt │ ├── cmake │ │ └── googletest-download.cmake │ └── CMakeLists.txt │ ├── queue │ ├── test │ │ ├── main.cpp │ │ └── CMakeLists.txt │ ├── src │ │ ├── CMakeLists.txt │ │ └── queue.h │ ├── cmake │ │ └── googletest-download.cmake │ └── CMakeLists.txt │ ├── stack │ ├── test │ │ ├── main.cpp │ │ └── CMakeLists.txt │ ├── src │ │ ├── CMakeLists.txt │ │ └── stack.h │ ├── cmake │ │ └── googletest-download.cmake │ └── CMakeLists.txt │ ├── avl_tree │ ├── test │ │ ├── main.cpp │ │ └── CMakeLists.txt │ ├── src │ │ └── CMakeLists.txt │ └── cmake │ │ └── googletest-download.cmake │ ├── hash_table │ ├── test │ │ ├── main.cpp │ │ └── CMakeLists.txt │ ├── src │ │ ├── CMakeLists.txt │ │ └── hash_table.h │ └── cmake │ │ └── googletest-download.cmake │ ├── vector │ ├── test │ │ ├── main.cpp │ │ └── CMakeLists.txt │ ├── src │ │ ├── CMakeLists.txt │ │ └── vector.h │ ├── cmake │ │ └── googletest-download.cmake │ └── CMakeLists.txt │ ├── linked_list │ ├── test │ │ ├── main.cpp │ │ └── CMakeLists.txt │ ├── src │ │ ├── CMakeLists.txt │ │ └── linked_list.h │ └── cmake │ │ └── googletest-download.cmake │ ├── red_black_tree │ ├── test │ │ ├── main.cpp │ │ └── CMakeLists.txt │ ├── src │ │ └── CMakeLists.txt │ └── cmake │ │ └── googletest-download.cmake │ └── binary_search_tree │ ├── test │ ├── main.cpp │ └── CMakeLists.txt │ ├── src │ └── CMakeLists.txt │ └── cmake │ └── googletest-download.cmake └── .github └── workflows └── all-tests.yml /src/graphs/python/bfs/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/dfs/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/a_star/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/bfs/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/dfs/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/dijkstra/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/graph/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/kruskal/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/prim/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/prim/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/minimax/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/a_star/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/a_star/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/bellman_ford/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/bfs/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/dfs/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/dijkstra/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/eulerian_path/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/graph/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/graph/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/kruskal/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/kruskal/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/prim/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/sorting/python/heap_sort/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/sorting/python/merge_sort/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/sorting/python/quick_sort/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/knight_tour/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/minimax/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/bst_to_list/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/bst_to_list/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/lru_cache/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/coins/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/kmp/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/bellman_ford/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/bellman_ford/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/python/dijkstra/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/sorting/python/heap_sort/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/sorting/python/heap_sort/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/sorting/python/insertion_sort/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/sorting/python/merge_sort/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/sorting/python/merge_sort/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/sorting/python/quick_sort/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/sorting/python/quick_sort/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/sorting/python/selection_sort/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/all_combinations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/all_permutations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/generating_words/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/hamiltonian_paths/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/knight_tour/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/knight_tour/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/minimax/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/string_pattern/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/topological_sort/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/bst_to_list/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/bst_to_list/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/array_product/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/bst_to_list/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/k_closest_points/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/lru_cache/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/lru_cache/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/randomize_array/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/range_sum_of_bst/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/subarray_sum/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/subarray_sum/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/best_sum/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/can_sum/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/coins/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/fibonacci/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/how_sum/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/kmp/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/kmp/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/sorting/python/insertion_sort/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/sorting/python/insertion_sort/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/sorting/python/selection_sort/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/sorting/python/selection_sort/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/all_combinations/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/all_combinations/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/all_permutations/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/all_permutations/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/generating_words/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/generating_words/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/hamiltonian_paths/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/string_pattern/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/string_pattern/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/topological_sort/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/topological_sort/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/add_string_numbers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/array_product/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/array_product/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/bst_to_list/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/k_closest_points/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/randomize_array/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/randomize_array/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/range_sum_of_bst/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/subarray_sum/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/avl_tree/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/heap/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/heap/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/stack/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/vector/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/all_construct/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/best_sum/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/best_sum/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/can_construct/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/can_sum/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/can_sum/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/climbing_stairs/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/coins/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/count_construct/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/fibonacci/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/fibonacci/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/grid_traveler/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/how_sum/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/how_sum/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/hamiltonian_paths/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/k_colorable_configurations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/add_string_numbers/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/add_string_numbers/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/design_browser_history/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/design_browser_history/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/k_closest_points/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/lowest_common_ancestor/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/lowest_common_ancestor/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/range_sum_of_bst/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/sparse_vectors_product/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/sparse_vectors_product/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/avl_tree/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/avl_tree/test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/hash_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/heap/test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/linked_list/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/simple_queue/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/stack/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/stack/test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/vector/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/vector/test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/all_construct/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/all_construct/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/can_construct/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/can_construct/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/climbing_stairs/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/count_construct/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/grid_traveler/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/grid_traveler/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/k_colorable_configurations/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backtracking/python/k_colorable_configurations/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/binary_tree_right_side_view/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/binary_tree_right_side_view/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/design_browser_history/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/lowest_common_ancestor/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/score_after_flipping_matrix/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/score_after_flipping_matrix/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/sparse_vectors_product/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/binary_search_tree/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/hash_table/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/hash_table/test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/linked_list/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/linked_list/test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/red_black_tree/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/red_black_tree/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/simple_queue/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/simple_queue/test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/climbing_stairs/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/count_construct/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/binary_tree_right_side_view/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/deletions_to_make_valid_parentheses/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/is_palindrome_after_char_deletion/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/score_after_flipping_matrix/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/binary_search_tree/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/binary_search_tree/test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/collections_and_containers/python/red_black_tree/test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/longest_common_subsequence/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/longest_common_subsequence/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/longest_increasing_subarray/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/deletions_to_make_valid_parentheses/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/deletions_to_make_valid_parentheses/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/is_palindrome_after_char_deletion/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/brain_teasers/python/is_palindrome_after_char_deletion/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/longest_common_subsequence/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/longest_increasing_subarray/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/longest_increasing_subarray/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/minimum_insertions_for_palindrome/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/minimum_insertions_for_palindrome/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/minimum_insertions_for_palindrome/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/graphs/cpp/prim/src/prim.h: -------------------------------------------------------------------------------- 1 | #include "graph.h" 2 | 3 | template int prim(const Graph &graph); 4 | -------------------------------------------------------------------------------- /src/graphs/cpp/kruskal/src/kruskal.h: -------------------------------------------------------------------------------- 1 | #include "graph.h" 2 | 3 | template int kruskal(const Graph &graph); 4 | -------------------------------------------------------------------------------- /src/sorting/cpp/selection_sort/src/selection_sort.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template void selection_sort(std::vector &arr); 4 | -------------------------------------------------------------------------------- /src/backtracking/cpp/all_combinations/src/all_combinations.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | std::vector> all_combinations(int n, int k); 4 | -------------------------------------------------------------------------------- /src/sorting/cpp/heap_sort/src/heap_sort.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | class vector; 4 | template void heap_sort(std::vector &arr); 5 | -------------------------------------------------------------------------------- /src/sorting/cpp/merge_sort/src/merge_sort.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | class vector; 4 | template void merge_sort(std::vector &arr); 5 | -------------------------------------------------------------------------------- /src/sorting/cpp/quick_sort/src/quick_sort.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | class vector; 4 | template void quick_sort(std::vector &arr); 5 | -------------------------------------------------------------------------------- /src/backtracking/cpp/knight_tour/src/knight_tour.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | std::vector>> knight_tour(int n); -------------------------------------------------------------------------------- /src/backtracking/cpp/string_pattern/src/string_pattern.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | bool string_pattern(const std::string &string, const std::string &pattern); -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/fibonacci/src/fibonacci.h: -------------------------------------------------------------------------------- 1 | int fibonacciBasic(int n); 2 | 3 | int fibonacciMemo(int n); 4 | 5 | int fibonacciTable(int n); 6 | -------------------------------------------------------------------------------- /src/graphs/cpp/bfs/src/bfs.h: -------------------------------------------------------------------------------- 1 | #include "graph.h" 2 | 3 | template 4 | int bfs(const Graph &graph, Vertex source, Vertex destination); 5 | -------------------------------------------------------------------------------- /src/graphs/cpp/dfs/src/dfs.h: -------------------------------------------------------------------------------- 1 | #include "graph.h" 2 | 3 | template 4 | int dfs(const Graph &graph, Vertex source, Vertex destination); 5 | -------------------------------------------------------------------------------- /src/backtracking/cpp/all_permutations/src/all_permutations.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | std::vector> all_permutations(std::vector input_list); -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/kmp/src/kmp.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | std::vector search(const std::string &text, const std::string &pattern); -------------------------------------------------------------------------------- /src/sorting/cpp/insertion_sort/src/insertion_sort.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | class vector; 4 | template void insertion_sort(std::vector &arr); 5 | -------------------------------------------------------------------------------- /src/graphs/cpp/dijkstra/src/dijkstra.h: -------------------------------------------------------------------------------- 1 | #include "graph.h" 2 | 3 | template 4 | int dijkstra(const Graph &graph, Vertex source, Vertex destination); 5 | -------------------------------------------------------------------------------- /src/graphs/cpp/bellman_ford/src/bellman_ford.h: -------------------------------------------------------------------------------- 1 | #include "graph.h" 2 | 3 | template 4 | int bellmanFord(const Graph &graph, Vertex source, Vertex destination); 5 | -------------------------------------------------------------------------------- /src/graphs/cpp/bfs/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/graphs/cpp/dfs/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/graphs/cpp/graph/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/graphs/cpp/prim/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/graphs/cpp/a_star/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/graphs/cpp/dijkstra/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/graphs/cpp/kruskal/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/sorting/cpp/heap_sort/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/backtracking/cpp/minimax/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/grid_traveler/src/grid_travelers.h: -------------------------------------------------------------------------------- 1 | int gridTravelersBasic(int n, int m); 2 | 3 | int gridTravelersMemo(int n, int m); 4 | 5 | int gridTravelersTable(int n, int m); 6 | -------------------------------------------------------------------------------- /src/graphs/cpp/bellman_ford/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/sorting/cpp/insertion_sort/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/sorting/cpp/merge_sort/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/sorting/cpp/quick_sort/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/sorting/cpp/selection_sort/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/backtracking/cpp/knight_tour/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/backtracking/cpp/string_pattern/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/array_product/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/lru_cache/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/subarray_sum/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/can_sum/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/climb_stairs/src/climb.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int countWaysToClimbBasic(int numSteps); 4 | int countWaysToClimbMemo(int n); 5 | int countWaysToClimbTable(int n); -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/coins/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/how_sum/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/kmp/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/backtracking/cpp/all_combinations/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/backtracking/cpp/all_permutations/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/backtracking/cpp/generating_words/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/backtracking/cpp/hamiltonian_paths/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/backtracking/cpp/topological_sort/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/add_string_numbers/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/k_closest_points/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/randomize_array/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/range_sum_of_bst/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/heap/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/queue/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/stack/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/best_sum/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/climb_stairs/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/fibonacci/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/design_browser_history/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/lowest_common_ancestor/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/sparse_vectors_product/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/avl_tree/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/hash_table/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/vector/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/all_construct/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/can_construct/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/count_construct/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/grid_traveler/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/graphs/cpp/a_star/src/a_star.h: -------------------------------------------------------------------------------- 1 | #include "graph.h" 2 | 3 | template 4 | int aStar(const Graph &graph, Vertex source, Vertex destination, 5 | double (*heuristic)(T a, T b)); 6 | -------------------------------------------------------------------------------- /src/backtracking/cpp/k_colorable_configurations/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/binary_tree_right_side_view/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/score_after_flipping_matrix/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/linked_list/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/red_black_tree/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/is_palindrome_after_char_deletion/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/binary_search_tree/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/longest_common_subsequence/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/longest_increasing_subarray/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/deletions_to_make_valid_parentheses/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/minimum_insertions_for_palindrome/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char **argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /src/graphs/cpp/bfs/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(bfs "") 2 | 3 | target_sources( 4 | bfs 5 | PRIVATE bfs.cpp graph.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/bfs.h) 7 | 8 | target_include_directories(bfs PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/graphs/cpp/bfs/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_bfs.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main bfs) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/graphs/cpp/dfs/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(dfs "") 2 | 3 | target_sources( 4 | dfs 5 | PRIVATE dfs.cpp graph.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/dfs.h) 7 | 8 | target_include_directories(dfs PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/graphs/cpp/dfs/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_dfs.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main dfs) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/graphs/cpp/prim/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_prim.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main prim) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/kmp/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(kmp "") 2 | 3 | target_sources( 4 | kmp 5 | PRIVATE kmp.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/kmp.h) 7 | 8 | target_include_directories(kmp PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/graphs/cpp/a_star/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_a_star.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main aStar) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/graphs/cpp/graph/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(graph "") 2 | 3 | target_sources( 4 | graph 5 | PRIVATE graph.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/graph.h) 7 | 8 | target_include_directories(graph PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/graphs/cpp/graph/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_graph.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main graph) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/kmp/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_kmp.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main kmp) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/graphs/cpp/kruskal/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_kruskal.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main kruskal) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/graphs/cpp/prim/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(prim "") 2 | 3 | target_sources( 4 | prim 5 | PRIVATE prim.cpp graph.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/prim.h) 7 | 8 | target_include_directories(prim PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/backtracking/cpp/minimax/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_minimax.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main minimax) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/lru_cache/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(stack "") 2 | 3 | target_sources( 4 | stack 5 | PRIVATE stack.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/stack.h) 7 | 8 | target_include_directories(stack PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/lru_cache/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_stack.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main stack) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/graphs/cpp/a_star/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(aStar "") 2 | 3 | target_sources( 4 | aStar 5 | PRIVATE a_star.cpp graph.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/a_star.h) 7 | 8 | target_include_directories(aStar PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/graphs/cpp/dijkstra/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_dijkstra.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main dijkstra) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/backtracking/cpp/minimax/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(minimax "") 2 | 3 | target_sources( 4 | minimax 5 | PRIVATE minimax.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/minimax.h) 7 | 8 | target_include_directories(minimax PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/array_product/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(stack "") 2 | 3 | target_sources( 4 | stack 5 | PRIVATE stack.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/stack.h) 7 | 8 | target_include_directories(stack PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/array_product/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_stack.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main stack) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/k_closest_points/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(stack "") 2 | 3 | target_sources( 4 | stack 5 | PRIVATE stack.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/stack.h) 7 | 8 | target_include_directories(stack PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/randomize_array/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(stack "") 2 | 3 | target_sources( 4 | stack 5 | PRIVATE stack.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/stack.h) 7 | 8 | target_include_directories(stack PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/randomize_array/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_stack.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main stack) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/range_sum_of_bst/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(stack "") 2 | 3 | target_sources( 4 | stack 5 | PRIVATE stack.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/stack.h) 7 | 8 | target_include_directories(stack PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/subarray_sum/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(stack "") 2 | 3 | target_sources( 4 | stack 5 | PRIVATE stack.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/stack.h) 7 | 8 | target_include_directories(stack PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/subarray_sum/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_stack.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main stack) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/heap/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(heap "") 2 | 3 | target_sources( 4 | heap 5 | PRIVATE heap.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/heap.h) 7 | 8 | target_include_directories(heap PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/heap/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_heap.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main heap) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/sorting/cpp/heap_sort/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_heap_sort.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main heap_sort) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/sorting/cpp/merge_sort/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_merge_sort.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main merge_sort) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/sorting/cpp/quick_sort/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_quick_sort.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main quick_sort) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/add_string_numbers/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(stack "") 2 | 3 | target_sources( 4 | stack 5 | PRIVATE stack.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/stack.h) 7 | 8 | target_include_directories(stack PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/add_string_numbers/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_stack.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main stack) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/k_closest_points/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_stack.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main stack) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/range_sum_of_bst/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_stack.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main stack) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/queue/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(queue "") 2 | 3 | target_sources( 4 | queue 5 | PRIVATE queue.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/queue.h) 7 | 8 | target_include_directories(queue PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/queue/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_queue.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main queue) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/stack/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(stack "") 2 | 3 | target_sources( 4 | stack 5 | PRIVATE stack.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/stack.h) 7 | 8 | target_include_directories(stack PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/stack/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_stack.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main stack) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/best_sum/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_best_sum.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main best_sum) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/can_sum/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_can_sum.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main can_sum) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/climb_stairs/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(climb "") 2 | 3 | target_sources( 4 | climb 5 | PRIVATE climb.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/climb.h) 7 | 8 | target_include_directories(climb PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/climb_stairs/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_climb.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main climb) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/how_sum/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_how_sum.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main how_sum) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/graphs/cpp/bellman_ford/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_bellman_ford.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main bellman_ford) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/graphs/cpp/kruskal/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(kruskal "") 2 | 3 | target_sources( 4 | kruskal 5 | PRIVATE kruskal.cpp graph.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/kruskal.h) 7 | 8 | target_include_directories(kruskal PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/backtracking/cpp/knight_tour/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_knight_tour.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main knight_tour) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/design_browser_history/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(stack "") 2 | 3 | target_sources( 4 | stack 5 | PRIVATE stack.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/stack.h) 7 | 8 | target_include_directories(stack PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/design_browser_history/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_stack.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main stack) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/lowest_common_ancestor/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(stack "") 2 | 3 | target_sources( 4 | stack 5 | PRIVATE stack.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/stack.h) 7 | 8 | target_include_directories(stack PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/lowest_common_ancestor/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_stack.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main stack) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/sparse_vectors_product/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(stack "") 2 | 3 | target_sources( 4 | stack 5 | PRIVATE stack.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/stack.h) 7 | 8 | target_include_directories(stack PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/sparse_vectors_product/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_stack.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main stack) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/vector/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(vector "") 2 | 3 | target_sources( 4 | vector 5 | PRIVATE vector.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/vector.h) 7 | 8 | target_include_directories(vector PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/vector/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_vector.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main vector) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/can_sum/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(can_sum "") 2 | 3 | target_sources( 4 | can_sum 5 | PRIVATE can_sum.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/can_sum.h) 7 | 8 | target_include_directories(can_sum PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/coins/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_coin_change.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main coinChange) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/fibonacci/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_fibonacci.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main fibonacci) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/how_sum/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(how_sum "") 2 | 3 | target_sources( 4 | how_sum 5 | PRIVATE how_sum.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/how_sum.h) 7 | 8 | target_include_directories(how_sum PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/graphs/cpp/dijkstra/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(dijkstra "") 2 | 3 | target_sources( 4 | dijkstra 5 | PRIVATE dijkstra.cpp graph.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/dijkstra.h) 7 | 8 | target_include_directories(dijkstra PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/sorting/cpp/heap_sort/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(heap_sort "") 2 | 3 | target_sources( 4 | heap_sort 5 | PRIVATE heap_sort.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/heap_sort.h) 7 | 8 | target_include_directories(heap_sort PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/backtracking/cpp/minimax/src/minimax.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int minimax(std::vector> &board, int player); 5 | std::pair find_best_move(std::vector> &board, 6 | int player); -------------------------------------------------------------------------------- /src/brain_teasers/cpp/binary_tree_right_side_view/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(stack "") 2 | 3 | target_sources( 4 | stack 5 | PRIVATE stack.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/stack.h) 7 | 8 | target_include_directories(stack PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/binary_tree_right_side_view/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_stack.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main stack) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/score_after_flipping_matrix/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(stack "") 2 | 3 | target_sources( 4 | stack 5 | PRIVATE stack.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/stack.h) 7 | 8 | target_include_directories(stack PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/score_after_flipping_matrix/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_stack.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main stack) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/avl_tree/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_avl_tree.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main avl_tree) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/best_sum/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(best_sum "") 2 | 3 | target_sources( 4 | best_sum 5 | PRIVATE best_sum.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/best_sum.h) 7 | 8 | target_include_directories(best_sum PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/sorting/cpp/insertion_sort/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_insertion_sort.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main insertion_sort) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/sorting/cpp/merge_sort/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(merge_sort "") 2 | 3 | target_sources( 4 | merge_sort 5 | PRIVATE merge_sort.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/merge_sort.h) 7 | 8 | target_include_directories(merge_sort PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/sorting/cpp/quick_sort/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(quick_sort "") 2 | 3 | target_sources( 4 | quick_sort 5 | PRIVATE quick_sort.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/quick_sort.h) 7 | 8 | target_include_directories(quick_sort PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/sorting/cpp/selection_sort/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_selection_sort.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main selection_sort) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/backtracking/cpp/string_pattern/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_string_pattern.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main string_pattern) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/deletions_to_make_valid_parentheses/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(stack "") 2 | 3 | target_sources( 4 | stack 5 | PRIVATE stack.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/stack.h) 7 | 8 | target_include_directories(stack PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/deletions_to_make_valid_parentheses/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_stack.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main stack) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/is_palindrome_after_char_deletion/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(stack "") 2 | 3 | target_sources( 4 | stack 5 | PRIVATE stack.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/stack.h) 7 | 8 | target_include_directories(stack PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/is_palindrome_after_char_deletion/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_stack.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main stack) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/avl_tree/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(avl_tree "") 2 | 3 | target_sources( 4 | avl_tree 5 | PRIVATE avl_tree.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/avl_tree.h) 7 | 8 | target_include_directories(avl_tree PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/hash_table/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_hash_table.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main hash_table) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/all_construct/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_all_construct.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main all_construct) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/can_construct/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_can_construct.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main can_construct) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/fibonacci/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(fibonacci "") 2 | 3 | target_sources( 4 | fibonacci 5 | PRIVATE fibonacci.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/fibonacci.h) 7 | 8 | target_include_directories(fibonacci PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/backtracking/cpp/all_combinations/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_all_combinations.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main all_combinations) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/backtracking/cpp/all_permutations/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_all_permutations.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main all_permutations) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/backtracking/cpp/generating_words/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_generating_words.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main generating_words) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/backtracking/cpp/hamiltonian_paths/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_hamiltonian_paths.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main hamiltonian_paths) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/backtracking/cpp/knight_tour/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(knight_tour "") 2 | 3 | target_sources( 4 | knight_tour 5 | PRIVATE knight_tour.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/knight_tour.h) 7 | 8 | target_include_directories(knight_tour PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/backtracking/cpp/topological_sort/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_topological_sort.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main topological_sort) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/linked_list/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_linked_list.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main linked_list) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/coins/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(coinChange "") 2 | 3 | target_sources( 4 | coinChange 5 | PRIVATE coin_change.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/coin_change.h) 7 | 8 | target_include_directories(coinChange PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/coins/src/coin_change.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int coinChangeBasic(int amount, const std::vector &coins); 4 | 5 | int coinChangeMemo(int amount, const std::vector &coins); 6 | 7 | int coinChangeTable(int amount, const std::vector &coins); 8 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/grid_traveler/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_grid_travelers.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main gridTravelers) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/red_black_tree/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_red_black_tree.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main red_black_tree) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/count_construct/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_count_construct.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main count_construct) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/hash_table/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(hash_table "") 2 | 3 | target_sources( 4 | hash_table 5 | PRIVATE hash_table.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/hash_table.h) 7 | 8 | target_include_directories(hash_table PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/graphs/cpp/bellman_ford/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(bellman_ford "") 2 | 3 | target_sources( 4 | bellman_ford 5 | PRIVATE bellman_ford.cpp graph.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/bellman_ford.h) 7 | 8 | target_include_directories(bellman_ford PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/linked_list/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(linked_list "") 2 | 3 | target_sources( 4 | linked_list 5 | PRIVATE linked_list.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/linked_list.h) 7 | 8 | target_include_directories(linked_list PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/sorting/cpp/insertion_sort/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(insertion_sort "") 2 | 3 | target_sources( 4 | insertion_sort 5 | PRIVATE insertion_sort.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/insertion_sort.h) 7 | 8 | target_include_directories(insertion_sort PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/sorting/cpp/selection_sort/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(selection_sort "") 2 | 3 | target_sources( 4 | selection_sort 5 | PRIVATE selection_sort.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/selection_sort.h) 7 | 8 | target_include_directories(selection_sort PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/backtracking/cpp/generating_words/src/generating_words.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | std::set 7 | generate_words(const std::vector> &board, 8 | const std::unordered_set &word_dict); -------------------------------------------------------------------------------- /src/backtracking/cpp/string_pattern/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(string_pattern "") 2 | 3 | target_sources( 4 | string_pattern 5 | PRIVATE string_pattern.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/string_pattern.h) 7 | 8 | target_include_directories(string_pattern PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/binary_search_tree/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_binary_search_tree.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main binary_search_tree) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/all_construct/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(all_construct "") 2 | 3 | target_sources( 4 | all_construct 5 | PRIVATE all_construct.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/all_construct.h) 7 | 8 | target_include_directories(all_construct PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/can_construct/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(can_construct "") 2 | 3 | target_sources( 4 | can_construct 5 | PRIVATE can_construct.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/can_construct.h) 7 | 8 | target_include_directories(can_construct PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/grid_traveler/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(gridTravelers "") 2 | 3 | target_sources( 4 | gridTravelers 5 | PRIVATE grid_travelers.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/grid_travelers.h) 7 | 8 | target_include_directories(gridTravelers PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/backtracking/cpp/all_combinations/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(all_combinations "") 2 | 3 | target_sources( 4 | all_combinations 5 | PRIVATE all_combinations.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/all_combinations.h) 7 | 8 | target_include_directories(all_combinations PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/backtracking/cpp/all_permutations/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(all_permutations "") 2 | 3 | target_sources( 4 | all_permutations 5 | PRIVATE all_permutations.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/all_permutations.h) 7 | 8 | target_include_directories(all_permutations PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/backtracking/cpp/generating_words/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(generating_words "") 2 | 3 | target_sources( 4 | generating_words 5 | PRIVATE generating_words.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/generating_words.h) 7 | 8 | target_include_directories(generating_words PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/backtracking/cpp/k_colorable_configurations/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_k_colorable_configurations.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main k_colorable_configurations) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/backtracking/cpp/topological_sort/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(topological_sort "") 2 | 3 | target_sources( 4 | topological_sort 5 | PRIVATE topological_sort.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/topological_sort.h) 7 | 8 | target_include_directories(topological_sort PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/count_construct/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(count_construct "") 2 | 3 | target_sources( 4 | count_construct 5 | PRIVATE count_construct.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/count_construct.h) 7 | 8 | target_include_directories(count_construct PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/backtracking/cpp/hamiltonian_paths/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(hamiltonian_paths "") 2 | 3 | target_sources( 4 | hamiltonian_paths 5 | PRIVATE hamiltonian_paths.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/hamiltonian_paths.h) 7 | 8 | target_include_directories(hamiltonian_paths PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/red_black_tree/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(red_black_tree "") 2 | 3 | target_sources( 4 | red_black_tree 5 | PRIVATE red_black_tree.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/red_black_tree.h) 7 | 8 | target_include_directories(red_black_tree PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/longest_common_subsequence/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_longest_common_subsequence.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main longestCommonSubsequence) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/longest_increasing_subarray/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_longest_increasing_subarray.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main longestIncreasingSubarray) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/minimum_insertions_for_palindrome/src/minimum_insertions_for_palindrome.h: -------------------------------------------------------------------------------- 1 | #include 2 | int minimum_insertions_for_palindrome_basic(const std::string &s); 3 | int minimum_insertions_for_palindrome_memo(const std::string &s); 4 | int minimum_insertions_for_palindrome_tab(const std::string &s); -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/longest_increasing_subarray/src/longest_increasing_subarray.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int longestIncreasingSubarrayBasic(const std::vector &array); 4 | 5 | int longestIncreasingSubarrayMemo(const std::vector &array); 6 | 7 | int longestIncreasingSubarrayTable(const std::vector &array); 8 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/binary_search_tree/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(binary_search_tree "") 2 | 3 | target_sources( 4 | binary_search_tree 5 | PRIVATE binary_search_tree.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/binary_search_tree.h) 7 | 8 | target_include_directories(binary_search_tree PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/minimum_insertions_for_palindrome/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(unit_tests test_minimum_insertions_for_palindrome.cpp) 2 | 3 | target_link_libraries(unit_tests gtest_main minimum_insertions_for_palindrome) 4 | 5 | add_test(NAME unit 6 | COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/unit_tests) 7 | -------------------------------------------------------------------------------- /src/backtracking/cpp/hamiltonian_paths/src/hamiltonian_paths.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | struct Graph { 5 | 6 | Graph(); 7 | void add_edge(int u, int v); 8 | 9 | int num_vertices; 10 | std::unordered_map> adjacency_dict; 11 | }; 12 | 13 | std::vector> find_hamiltonian_paths(Graph &G); -------------------------------------------------------------------------------- /src/backtracking/cpp/k_colorable_configurations/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(k_colorable_configurations "") 2 | 3 | target_sources( 4 | k_colorable_configurations 5 | PRIVATE k_colorable_configurations.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/k_colorable_configurations.h) 7 | 8 | target_include_directories(k_colorable_configurations PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/can_sum/src/can_sum.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | bool canSumBasic(const unsigned int target, 4 | const std::vector &numbers); 5 | 6 | bool canSumMemo(const unsigned int target, 7 | const std::vector &numbers); 8 | 9 | bool canSumTable(const unsigned int target, std::vector numbers); 10 | -------------------------------------------------------------------------------- /src/backtracking/cpp/k_colorable_configurations/src/k_colorable_configurations.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | struct Graph { 5 | 6 | Graph(); 7 | void add_edge(int u, int v); 8 | 9 | int num_vertices; 10 | std::unordered_map> adjacency_dict; 11 | }; 12 | 13 | std::vector> find_k_colorable_configurations(Graph &G, int k); -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/longest_common_subsequence/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(longestCommonSubsequence "") 2 | 3 | target_sources( 4 | longestCommonSubsequence 5 | PRIVATE longest_common_subsequence.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/longest_common_subsequence.h) 7 | 8 | target_include_directories(longestCommonSubsequence 9 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 10 | -------------------------------------------------------------------------------- /src/sorting/python/insertion_sort/src/insertion_sort.py: -------------------------------------------------------------------------------- 1 | import random 2 | 3 | # Time complexity O(n^2) 4 | def insertionsort_v1(array): 5 | 6 | for i in range(1, len(array)): 7 | key = array[i] 8 | j = i - 1 9 | 10 | while j >= 0 and array[j] > key: 11 | array[j + 1] = array[j] 12 | j -= 1 13 | 14 | array[j + 1] = key 15 | 16 | return array 17 | -------------------------------------------------------------------------------- /src/brain_teasers/python/subarray_sum/src/subarray_sum.py: -------------------------------------------------------------------------------- 1 | from typing import List 2 | 3 | 4 | def subarray_sum(array: List[int], start: int, end: int) -> int: 5 | # Initialize the sum to 0 6 | subarray_sum = 0 7 | # Iterate through the subarray and add the elements to the sum 8 | for i in range(start, end): 9 | subarray_sum += array[i] 10 | # Return the sum 11 | return subarray_sum 12 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/longest_increasing_subarray/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(longestIncreasingSubarray "") 2 | 3 | target_sources( 4 | longestIncreasingSubarray 5 | PRIVATE longest_increasing_subarray.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/longest_increasing_subarray.h) 7 | 8 | target_include_directories(longestIncreasingSubarray 9 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 10 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/minimum_insertions_for_palindrome/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(minimum_insertions_for_palindrome "") 2 | 3 | target_sources( 4 | minimum_insertions_for_palindrome 5 | PRIVATE minimum_insertions_for_palindrome.cpp 6 | PUBLIC ${CMAKE_CURRENT_LIST_DIR}/minimum_insertions_for_palindrome.h) 7 | 8 | target_include_directories(minimum_insertions_for_palindrome PUBLIC ${CMAKE_CURRENT_LIST_DIR}) 9 | -------------------------------------------------------------------------------- /src/sorting/python/selection_sort/src/selection_sort.py: -------------------------------------------------------------------------------- 1 | import random 2 | 3 | # Time complexity O(n^2) 4 | def selectionsort_v1(array): 5 | 6 | for i in range(len(array)): 7 | i_min = i 8 | 9 | for j in range(i + 1, len(array)): 10 | if array[j] < array[i_min]: 11 | i_min = j 12 | 13 | array[i], array[i_min] = array[i_min], array[i] 14 | 15 | return array 16 | -------------------------------------------------------------------------------- /src/backtracking/cpp/topological_sort/src/topological_sort.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | class Graph { 4 | public: 5 | Graph(int n); 6 | void add_edge(int u, int v); 7 | std::vector topological_sort(); 8 | 9 | private: 10 | int num_vertices; 11 | std::vector> adjacency_list; 12 | void topological_sort_util(int v, std::vector& visited, std::stack& Stack); 13 | }; 14 | 15 | -------------------------------------------------------------------------------- /src/backtracking/python/all_combinations/src/all_combinations.py: -------------------------------------------------------------------------------- 1 | def all_combinations(n, k): 2 | def _all_combinations(combination): 3 | if len(combination) == k: 4 | result.append(combination) 5 | return 6 | 7 | for i in range(combination[-1] + 1 if combination else 0, n + 1): 8 | _all_combinations(combination + [i]) 9 | 10 | result = [] 11 | _all_combinations([]) 12 | return result 13 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/best_sum/src/best_sum.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | std::vector 4 | bestSumBasic(unsigned int target, const std::vector &numbers); 5 | 6 | std::vector bestSumMemo(unsigned int target, 7 | const std::vector &numbers); 8 | 9 | std::vector 10 | bestSumTabulation(unsigned int target, 11 | const std::vector &numbers); 12 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/can_construct/src/can_construct.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | bool canConstructBasic(const std::string &target, 5 | const std::vector &wordBank); 6 | 7 | bool canConstructMemo(const std::string &target, 8 | const std::vector &wordBank); 9 | 10 | bool canConstructTable(const std::string &target, 11 | const std::vector &wordBank); 12 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/count_construct/src/count_construct.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int countConstructBasic(const std::string &target, 5 | const std::vector &wordBank); 6 | 7 | int countConstructMemo(const std::string &target, 8 | const std::vector &wordBank); 9 | 10 | int countConstructTable(const std::string &target, 11 | const std::vector &wordBank); 12 | -------------------------------------------------------------------------------- /src/backtracking/python/all_permutations/src/all_permutations.py: -------------------------------------------------------------------------------- 1 | def all_permutations(input_list): 2 | def _all_permutations(input_list, output_list): 3 | if len(output_list) == len(input_list): 4 | result.append(output_list) 5 | return 6 | 7 | for element in input_list: 8 | if element not in output_list: 9 | _all_permutations(input_list, output_list + [element]) 10 | 11 | result = [] 12 | _all_permutations(input_list, []) 13 | return result 14 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/how_sum/src/how_sum.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | std::vector howSumBasic(const unsigned int target, 4 | const std::vector &numbers); 5 | 6 | std::vector howSumMemo(const unsigned int target, 7 | const std::vector &numbers); 8 | 9 | std::vector howSumTable(const unsigned int target, 10 | std::vector numbers); 11 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/longest_common_subsequence/src/longest_common_subsequence.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int longestCommonSubsequenceBasic(const std::vector &arrayA, 4 | const std::vector &arrayB); 5 | 6 | int longestCommonSubsequenceMemo(const std::vector &arrayA, 7 | const std::vector &arrayB); 8 | 9 | int longestCommonSubsequenceTable(const std::vector &arrayA, 10 | const std::vector &arrayB); 11 | -------------------------------------------------------------------------------- /src/brain_teasers/python/k_closest_points/src/k_closest_points.py: -------------------------------------------------------------------------------- 1 | from typing import List, Tuple 2 | import math 3 | 4 | 5 | def k_closest_points(points: List[Tuple[int, int]], K: int) -> List[Tuple[int, int]]: 6 | """Return the K closest points to the origin.""" 7 | # Create a list of the distances from the origin 8 | distances = [(math.sqrt(x ** 2 + y ** 2), (x, y)) for x, y in points] 9 | # Sort the list of distances 10 | distances.sort() 11 | # Return the K closest points 12 | return [point for _, point in distances[:K]] 13 | -------------------------------------------------------------------------------- /.github/workflows/all-tests.yml: -------------------------------------------------------------------------------- 1 | name: Test workflow 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | test: 7 | runs-on: ubuntu-latest 8 | 9 | steps: 10 | - name: Checkout repository 11 | uses: actions/checkout@v2 12 | 13 | - name: Setup Python 14 | uses: actions/setup-python@v2 15 | with: 16 | python-version: '3.x' 17 | 18 | - name: Install CMake and Make 19 | run: sudo apt-get install -y cmake make 20 | 21 | - name: Run tests 22 | run: | 23 | chmod +x run_tests.sh 24 | ./run_tests.sh 25 | -------------------------------------------------------------------------------- /src/sorting/cpp/insertion_sort/src/insertion_sort.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | template void insertion_sort(std::vector &arr) { 5 | 6 | for (auto i = begin(arr); i != end(arr); ++i) 7 | std::rotate(std::upper_bound(begin(arr), i, *i), i, std::next(i)); 8 | } 9 | 10 | template void insertion_sort(std::vector &arr); 11 | template void insertion_sort(std::vector &arr); 12 | template void insertion_sort(std::vector &arr); 13 | template void insertion_sort(std::vector &arr); 14 | -------------------------------------------------------------------------------- /src/brain_teasers/python/sparse_vectors_product/src/sparse_vectors_product.py: -------------------------------------------------------------------------------- 1 | from typing import Dict 2 | 3 | 4 | def sparse_vectors_product(v1: Dict[int, int], v2: Dict[int, int]) -> int: 5 | 6 | # Initialize the product to 0 7 | product = 0 8 | 9 | # Iterate through the first vector 10 | for index, value in v1.items(): 11 | 12 | # If the index is in the second vector, add the product of the values to the product 13 | if index in v2: 14 | product += value * v2[index] 15 | 16 | # Return the product 17 | return product 18 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/all_construct/src/all_construct.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | std::vector> 5 | allConstructBasic(const std::string &target, 6 | const std::vector &wordBank); 7 | 8 | std::vector> 9 | allConstructMemo(const std::string &target, 10 | const std::vector &wordBank); 11 | 12 | std::vector> 13 | allConstructTable(const std::string &target, 14 | const std::vector &wordBank); 15 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/lru_cache/src/stack.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template class Stack { 4 | 5 | public: 6 | Stack(); 7 | Stack(const Stack &other); 8 | ~Stack(); 9 | T pop(); // removes an element from the top of the stack 10 | void push(T element); // adds an element to the top of the stack 11 | T top(); // returns the element at the top of the stack 12 | int size(); 13 | bool isEmpty(); 14 | Stack &operator=(const Stack &other); 15 | 16 | private: 17 | T *data; 18 | int n; 19 | int maxSize; 20 | void copy(const Stack &other); 21 | void expand(); 22 | }; 23 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/array_product/src/stack.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template class Stack { 4 | 5 | public: 6 | Stack(); 7 | Stack(const Stack &other); 8 | ~Stack(); 9 | T pop(); // removes an element from the top of the stack 10 | void push(T element); // adds an element to the top of the stack 11 | T top(); // returns the element at the top of the stack 12 | int size(); 13 | bool isEmpty(); 14 | Stack &operator=(const Stack &other); 15 | 16 | private: 17 | T *data; 18 | int n; 19 | int maxSize; 20 | void copy(const Stack &other); 21 | void expand(); 22 | }; 23 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/randomize_array/src/stack.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template class Stack { 4 | 5 | public: 6 | Stack(); 7 | Stack(const Stack &other); 8 | ~Stack(); 9 | T pop(); // removes an element from the top of the stack 10 | void push(T element); // adds an element to the top of the stack 11 | T top(); // returns the element at the top of the stack 12 | int size(); 13 | bool isEmpty(); 14 | Stack &operator=(const Stack &other); 15 | 16 | private: 17 | T *data; 18 | int n; 19 | int maxSize; 20 | void copy(const Stack &other); 21 | void expand(); 22 | }; 23 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/subarray_sum/src/stack.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template class Stack { 4 | 5 | public: 6 | Stack(); 7 | Stack(const Stack &other); 8 | ~Stack(); 9 | T pop(); // removes an element from the top of the stack 10 | void push(T element); // adds an element to the top of the stack 11 | T top(); // returns the element at the top of the stack 12 | int size(); 13 | bool isEmpty(); 14 | Stack &operator=(const Stack &other); 15 | 16 | private: 17 | T *data; 18 | int n; 19 | int maxSize; 20 | void copy(const Stack &other); 21 | void expand(); 22 | }; 23 | -------------------------------------------------------------------------------- /src/graphs/cpp/a_star/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/graphs/cpp/bfs/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/graphs/cpp/dfs/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/graphs/cpp/graph/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/graphs/cpp/kruskal/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/graphs/cpp/prim/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/add_string_numbers/src/stack.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template class Stack { 4 | 5 | public: 6 | Stack(); 7 | Stack(const Stack &other); 8 | ~Stack(); 9 | T pop(); // removes an element from the top of the stack 10 | void push(T element); // adds an element to the top of the stack 11 | T top(); // returns the element at the top of the stack 12 | int size(); 13 | bool isEmpty(); 14 | Stack &operator=(const Stack &other); 15 | 16 | private: 17 | T *data; 18 | int n; 19 | int maxSize; 20 | void copy(const Stack &other); 21 | void expand(); 22 | }; 23 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/k_closest_points/src/stack.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template class Stack { 4 | 5 | public: 6 | Stack(); 7 | Stack(const Stack &other); 8 | ~Stack(); 9 | T pop(); // removes an element from the top of the stack 10 | void push(T element); // adds an element to the top of the stack 11 | T top(); // returns the element at the top of the stack 12 | int size(); 13 | bool isEmpty(); 14 | Stack &operator=(const Stack &other); 15 | 16 | private: 17 | T *data; 18 | int n; 19 | int maxSize; 20 | void copy(const Stack &other); 21 | void expand(); 22 | }; 23 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/range_sum_of_bst/src/stack.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template class Stack { 4 | 5 | public: 6 | Stack(); 7 | Stack(const Stack &other); 8 | ~Stack(); 9 | T pop(); // removes an element from the top of the stack 10 | void push(T element); // adds an element to the top of the stack 11 | T top(); // returns the element at the top of the stack 12 | int size(); 13 | bool isEmpty(); 14 | Stack &operator=(const Stack &other); 15 | 16 | private: 17 | T *data; 18 | int n; 19 | int maxSize; 20 | void copy(const Stack &other); 21 | void expand(); 22 | }; 23 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/stack/src/stack.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template class Stack { 4 | 5 | public: 6 | Stack(); 7 | Stack(const Stack &other); 8 | ~Stack(); 9 | T pop(); // removes an element from the top of the stack 10 | void push(T element); // adds an element to the top of the stack 11 | T top(); // returns the element at the top of the stack 12 | int size(); 13 | bool isEmpty(); 14 | Stack &operator=(const Stack &other); 15 | 16 | private: 17 | T *data; 18 | int n; 19 | int maxSize; 20 | void copy(const Stack &other); 21 | void expand(); 22 | }; 23 | -------------------------------------------------------------------------------- /src/graphs/cpp/bellman_ford/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/graphs/cpp/dijkstra/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/sorting/cpp/heap_sort/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/sorting/cpp/merge_sort/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/sorting/cpp/quick_sort/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/backtracking/cpp/knight_tour/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/backtracking/cpp/minimax/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/design_browser_history/src/stack.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template class Stack { 4 | 5 | public: 6 | Stack(); 7 | Stack(const Stack &other); 8 | ~Stack(); 9 | T pop(); // removes an element from the top of the stack 10 | void push(T element); // adds an element to the top of the stack 11 | T top(); // returns the element at the top of the stack 12 | int size(); 13 | bool isEmpty(); 14 | Stack &operator=(const Stack &other); 15 | 16 | private: 17 | T *data; 18 | int n; 19 | int maxSize; 20 | void copy(const Stack &other); 21 | void expand(); 22 | }; 23 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/lowest_common_ancestor/src/stack.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template class Stack { 4 | 5 | public: 6 | Stack(); 7 | Stack(const Stack &other); 8 | ~Stack(); 9 | T pop(); // removes an element from the top of the stack 10 | void push(T element); // adds an element to the top of the stack 11 | T top(); // returns the element at the top of the stack 12 | int size(); 13 | bool isEmpty(); 14 | Stack &operator=(const Stack &other); 15 | 16 | private: 17 | T *data; 18 | int n; 19 | int maxSize; 20 | void copy(const Stack &other); 21 | void expand(); 22 | }; 23 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/lru_cache/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/sparse_vectors_product/src/stack.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template class Stack { 4 | 5 | public: 6 | Stack(); 7 | Stack(const Stack &other); 8 | ~Stack(); 9 | T pop(); // removes an element from the top of the stack 10 | void push(T element); // adds an element to the top of the stack 11 | T top(); // returns the element at the top of the stack 12 | int size(); 13 | bool isEmpty(); 14 | Stack &operator=(const Stack &other); 15 | 16 | private: 17 | T *data; 18 | int n; 19 | int maxSize; 20 | void copy(const Stack &other); 21 | void expand(); 22 | }; 23 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/kmp/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/sorting/cpp/insertion_sort/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/sorting/cpp/selection_sort/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/sorting/cpp/selection_sort/src/selection_sort.cpp: -------------------------------------------------------------------------------- 1 | #include "selection_sort.h" 2 | #include 3 | #include 4 | 5 | template void selection_sort(std::vector &arr) { 6 | for (auto it = arr.begin(); it != arr.end(); ++it) { 7 | auto const selection = std::min_element(it, arr.end()); 8 | std::iter_swap(selection, it); 9 | } 10 | } 11 | 12 | template void selection_sort(std::vector &arr); 13 | template void selection_sort(std::vector &arr); 14 | template void selection_sort(std::vector &arr); 15 | template void selection_sort(std::vector &arr); 16 | -------------------------------------------------------------------------------- /src/backtracking/cpp/all_combinations/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/backtracking/cpp/all_permutations/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/backtracking/cpp/generating_words/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/backtracking/cpp/string_pattern/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/backtracking/cpp/topological_sort/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/array_product/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/binary_tree_right_side_view/src/stack.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template class Stack { 4 | 5 | public: 6 | Stack(); 7 | Stack(const Stack &other); 8 | ~Stack(); 9 | T pop(); // removes an element from the top of the stack 10 | void push(T element); // adds an element to the top of the stack 11 | T top(); // returns the element at the top of the stack 12 | int size(); 13 | bool isEmpty(); 14 | Stack &operator=(const Stack &other); 15 | 16 | private: 17 | T *data; 18 | int n; 19 | int maxSize; 20 | void copy(const Stack &other); 21 | void expand(); 22 | }; 23 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/randomize_array/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/score_after_flipping_matrix/src/stack.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template class Stack { 4 | 5 | public: 6 | Stack(); 7 | Stack(const Stack &other); 8 | ~Stack(); 9 | T pop(); // removes an element from the top of the stack 10 | void push(T element); // adds an element to the top of the stack 11 | T top(); // returns the element at the top of the stack 12 | int size(); 13 | bool isEmpty(); 14 | Stack &operator=(const Stack &other); 15 | 16 | private: 17 | T *data; 18 | int n; 19 | int maxSize; 20 | void copy(const Stack &other); 21 | void expand(); 22 | }; 23 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/subarray_sum/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/best_sum/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/can_sum/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/coins/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/fibonacci/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/how_sum/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/backtracking/cpp/hamiltonian_paths/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/add_string_numbers/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/deletions_to_make_valid_parentheses/src/stack.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template class Stack { 4 | 5 | public: 6 | Stack(); 7 | Stack(const Stack &other); 8 | ~Stack(); 9 | T pop(); // removes an element from the top of the stack 10 | void push(T element); // adds an element to the top of the stack 11 | T top(); // returns the element at the top of the stack 12 | int size(); 13 | bool isEmpty(); 14 | Stack &operator=(const Stack &other); 15 | 16 | private: 17 | T *data; 18 | int n; 19 | int maxSize; 20 | void copy(const Stack &other); 21 | void expand(); 22 | }; 23 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/is_palindrome_after_char_deletion/src/stack.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template class Stack { 4 | 5 | public: 6 | Stack(); 7 | Stack(const Stack &other); 8 | ~Stack(); 9 | T pop(); // removes an element from the top of the stack 10 | void push(T element); // adds an element to the top of the stack 11 | T top(); // returns the element at the top of the stack 12 | int size(); 13 | bool isEmpty(); 14 | Stack &operator=(const Stack &other); 15 | 16 | private: 17 | T *data; 18 | int n; 19 | int maxSize; 20 | void copy(const Stack &other); 21 | void expand(); 22 | }; 23 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/k_closest_points/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/range_sum_of_bst/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/heap/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/queue/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/stack/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/vector/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/all_construct/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/can_construct/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/climb_stairs/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/grid_traveler/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/backtracking/cpp/k_colorable_configurations/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/design_browser_history/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/lowest_common_ancestor/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/sparse_vectors_product/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/avl_tree/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/hash_table/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/linked_list/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/count_construct/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/binary_tree_right_side_view/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/score_after_flipping_matrix/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/red_black_tree/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/vector/src/vector.h: -------------------------------------------------------------------------------- 1 | 2 | template class Vector { 3 | 4 | public: 5 | Vector(); 6 | Vector(const Vector &v); 7 | ~Vector(); 8 | 9 | typedef T *iterator; 10 | int size(); 11 | bool empty(); 12 | iterator begin(); 13 | iterator end(); 14 | T &front(); 15 | T &back(); 16 | void push_back(const T &value); 17 | T pop_back(); 18 | 19 | void resize(unsigned int size); 20 | T &operator[](unsigned int index); 21 | Vector &operator=(const Vector &); 22 | void clear(); 23 | 24 | private: 25 | int n; 26 | int capacity; 27 | void reserve(unsigned int size); 28 | T *data; 29 | }; 30 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/deletions_to_make_valid_parentheses/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/is_palindrome_after_char_deletion/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/binary_search_tree/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/longest_common_subsequence/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/longest_increasing_subarray/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/minimum_insertions_for_palindrome/cmake/googletest-download.cmake: -------------------------------------------------------------------------------- 1 | # code copied from https://crascit.com/2015/07/25/cmake-gtest/ 2 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 3 | 4 | project(googletest-download NONE) 5 | 6 | include(ExternalProject) 7 | 8 | ExternalProject_Add( 9 | googletest 10 | SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src" 11 | BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build" 12 | GIT_REPOSITORY 13 | https://github.com/google/googletest.git 14 | GIT_TAG 15 | release-1.8.0 16 | CONFIGURE_COMMAND "" 17 | BUILD_COMMAND "" 18 | INSTALL_COMMAND "" 19 | TEST_COMMAND "" 20 | ) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/python/array_product/src/array_product.py: -------------------------------------------------------------------------------- 1 | from typing import List 2 | 3 | 4 | def product_of_array_except_self(arr: List[int]) -> List[int]: 5 | # Initialize the result array with all 1s 6 | result = [1] * len(arr) 7 | # Calculate the product of all elements to the left of each index 8 | left_product = 1 9 | for i in range(len(arr)): 10 | result[i] *= left_product 11 | left_product *= arr[i] 12 | # Calculate the product of all elements to the right of each index 13 | right_product = 1 14 | for i in range(len(arr) - 1, -1, -1): 15 | result[i] *= right_product 16 | right_product *= arr[i] 17 | return result 18 | -------------------------------------------------------------------------------- /src/dynamic_programming/python/fibonacci/src/fib.py: -------------------------------------------------------------------------------- 1 | def fib_basic(n): 2 | if n <= 0: 3 | return 0 4 | elif n == 1: 5 | return 1 6 | else: 7 | return fib_basic(n - 2) + fib_basic(n - 1) 8 | 9 | 10 | def fib_memo(n, memo=dict()): 11 | if n < 1: 12 | return 0 13 | if n <= 2: 14 | return 1 15 | return memo.get(n, fib_memo(n - 1, memo) + fib_memo(n - 2, memo)) 16 | 17 | 18 | def fib_tab(n): 19 | if n < 1: 20 | return 0 21 | 22 | if n == 1: 23 | return 1 24 | 25 | table = [0] * (n + 1) 26 | table[1] = 1 27 | 28 | for i in range(2, n + 1): 29 | table[i] = table[i - 1] + table[i - 2] 30 | 31 | return table[n] 32 | -------------------------------------------------------------------------------- /src/graphs/cpp/bfs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-bfs CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/graphs/cpp/dfs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-dfs CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/graphs/cpp/prim/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-prim CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/graphs/cpp/a_star/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-aStar CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/graphs/cpp/graph/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15 FATAL_ERROR) 2 | 3 | project(project-graph CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/queue/src/queue.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template class Queue { 4 | 5 | public: 6 | Queue(); 7 | Queue(const Queue &other); 8 | ~Queue(); 9 | void enqueue(T element); // adds an element to the end of the queue 10 | T dequeue(); // removes an element from the front of the queue 11 | T front(); // returns the element at the front of the queue 12 | T back(); // returns the element at the end of the queue 13 | int size(); 14 | bool isEmpty(); 15 | Queue &operator=(const Queue &other); 16 | 17 | private: 18 | T *data; 19 | int head; 20 | int tail; 21 | int n; 22 | int maxSize; 23 | void copy(const Queue &other); 24 | void expand(); 25 | }; 26 | -------------------------------------------------------------------------------- /src/graphs/cpp/dijkstra/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-dijkstra CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/graphs/cpp/kruskal/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-kruskal CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/backtracking/cpp/minimax/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-minimax CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/lru_cache/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-stack CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/kmp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15 FATAL_ERROR) 2 | 3 | project(project-kmp CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/sorting/cpp/heap_sort/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15 FATAL_ERROR) 2 | 3 | project(project-heap-sort CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/sorting/cpp/merge_sort/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15 FATAL_ERROR) 2 | 3 | project(project-merge-sort CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/sorting/cpp/quick_sort/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15 FATAL_ERROR) 2 | 3 | project(project-heap-sort CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/backtracking/cpp/knight_tour/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-knight_tour CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/array_product/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-stack CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/k_closest_points/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-stack CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/randomize_array/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-stack CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/range_sum_of_bst/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-stack CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/subarray_sum/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-stack CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/hash_table/src/hash_table.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | template class HashTable { 6 | 7 | public: 8 | HashTable(std::function hash_function, int size = 10); 9 | ~HashTable(); 10 | void add(Key key, Value value); 11 | Value get(Key key); 12 | void remove(Key key); 13 | bool contains(Key key); 14 | unsigned int size() const; 15 | void clear(); 16 | Value &operator[](Key key); 17 | 18 | private: 19 | std::function hash_function; 20 | int _num_elements; 21 | int _size; 22 | float load_factor; 23 | std::vector>>> table; 24 | void grow(); 25 | void shrink(); 26 | }; 27 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/linked_list/src/linked_list.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | template class LinkedList { 6 | 7 | public: 8 | LinkedList(); 9 | LinkedList(const LinkedList &l); 10 | LinkedList &operator=(const LinkedList &l); 11 | ~LinkedList(); 12 | 13 | void push_back(const T &v); 14 | void push_front(const T &v); 15 | void pop_back(); 16 | void pop_front(); 17 | T &front(); 18 | T &back(); 19 | bool empty(); 20 | void clear(); 21 | int size(); 22 | void remove(const T &v); 23 | 24 | private: 25 | struct Node { 26 | T data; 27 | std::unique_ptr next; 28 | }; 29 | 30 | std::unique_ptr head; 31 | Node *tail; 32 | int n; 33 | }; 34 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/can_sum/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15 FATAL_ERROR) 2 | 3 | project(project-can-sum CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/how_sum/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15 FATAL_ERROR) 2 | 3 | project(project-how-sum CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/graphs/cpp/bellman_ford/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-bellman-ford CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/add_string_numbers/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-stack CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/heap/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15 FATAL_ERROR) 2 | 3 | project(project-heap CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/queue/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15 FATAL_ERROR) 2 | 3 | project(project-stack CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/stack/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-stack CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/collections_and_containers/cpp/vector/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15 FATAL_ERROR) 2 | 3 | project(project-vector CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/best_sum/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15 FATAL_ERROR) 2 | 3 | project(project-best-sum CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/climb_stairs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15 FATAL_ERROR) 2 | 3 | project(project-climb CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/coins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15 FATAL_ERROR) 2 | 3 | project(project-coinChange CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/dynamic_programming/cpp/fibonacci/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15 FATAL_ERROR) 2 | 3 | project(project-fibonacci CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/sorting/cpp/insertion_sort/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15 FATAL_ERROR) 2 | 3 | project(project-insertion-sort CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/sorting/cpp/selection_sort/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15 FATAL_ERROR) 2 | 3 | project(project-selection-sort CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/backtracking/cpp/all_combinations/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-all_combinations CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/backtracking/cpp/all_permutations/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-all_permutations CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/backtracking/cpp/generating_words/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-generating_words CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/backtracking/cpp/string_pattern/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-string_pattern CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/backtracking/cpp/topological_sort/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-topological_sort CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/design_browser_history/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-stack CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/lowest_common_ancestor/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-stack CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/randomize_array/README.md: -------------------------------------------------------------------------------- 1 | ## Randomize Array 2 | 3 | A function that takes an array as input and returns a randomly shuffled version of the array. 4 | 5 | ## Examples 6 | 7 | ``` 8 | Input: [1, 2, 3, 4, 5] 9 | Output: [2, 3, 5, 4, 1] 10 | ``` 11 | 12 | ## Approach 13 | 14 | This function uses the Fisher-Yates shuffle algorithm to randomly shuffle the input array. The algorithm works by iterating through the array in reverse and swapping each element with a randomly selected element from the subarray to the left of the current element. 15 | 16 | ## Complexity 17 | 18 | The time complexity of this function is $O(n)$, as it iterates through the input array once. The space complexity is $O(1)$, as it only requires a constant amount of additional space. 19 | -------------------------------------------------------------------------------- /src/brain_teasers/cpp/sparse_vectors_product/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 2 | 3 | project(project-stack CXX) 4 | 5 | include(GNUInstallDirs) 6 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 7 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) 8 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) 9 | 10 | if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 12 | endif() 13 | 14 | add_subdirectory(src) 15 | 16 | include(cmake/googletest.cmake) 17 | fetch_googletest(${PROJECT_SOURCE_DIR}/cmake ${PROJECT_BINARY_DIR}/googletest) 18 | 19 | enable_testing() 20 | add_subdirectory(test) 21 | --------------------------------------------------------------------------------