├── .clang-format ├── .gitignore ├── .vscode ├── launch.json ├── settings.json └── tasks.json ├── README.md ├── week1_programming_challenges ├── 1_sum_of_two_digits │ └── APlusB.cpp ├── 2_maximum_pairwise_product │ └── max_pairwise_product.cpp └── week1_programming_challenges.pdf ├── week2_algorithmic_warmup ├── 1_fibonacci_number │ └── fibonacci.cpp ├── 2_last_digit_of_fibonacci_number │ └── fibonacci_last_digit.cpp ├── 3_greatest_common_divisor │ └── gcd.cpp ├── 4_least_common_multiple │ └── lcm.cpp ├── 5_fibonacci_number_again │ └── fibonacci_huge.cpp ├── 6_last_digit_of_the_sum_of_fibonacci_numbers │ └── fibonacci_sum_last_digit.cpp ├── 7_last_digit_of_the_sum_of_fibonacci_numbers_again │ └── fibonacci_partial_sum.cpp ├── 8_last_digit_of_the_sum_of_squares_of_fibonacci_numbers │ └── fibonacci_sum_squares.cpp └── week2_algorithmic_warmup.pdf ├── week3_greedy_algorithms ├── 1_money_change │ └── change.cpp ├── 2_maximum_value_of_the_loot │ └── fractional_knapsack.cpp ├── 3_car_fueling │ └── car_fueling.cpp ├── 4_maximum_advertisement_revenue │ └── dot_product.cpp ├── 5_collecting_signatures │ └── covering_segments.cpp ├── 6_maximum_number_of_prizes │ └── different_summands.cpp ├── 7_maximum_salary │ └── largest_number.cpp └── week3_greedy_algorithms.pdf ├── week4_divide_and_conquer ├── 1_binary_search │ └── binary_search.cpp ├── 2_majority_element │ └── majority_element.cpp ├── 3_improving_quicksort │ └── sorting.cpp ├── 4_number_of_inversions │ └── inversions.cpp ├── 5_organizing_a_lottery │ └── points_and_segments.cpp ├── 6_closest_points │ └── closest.cpp └── week4_divide_and_conquer.pdf ├── week5_dynamic_programming1 ├── 1_money_change_again │ └── change_dp.cpp ├── 2_primitive_calculator │ └── primitive_calculator.cpp ├── 3_edit_distance │ └── edit_distance.cpp ├── 4_longest_common_subsequence_of_two_sequences │ └── lcs2.cpp ├── 5_longest_common_subsequence_of_three_sequences │ └── lcs3.cpp └── week5_dynamic_programming1.pdf └── week6_dynamic_programming2 ├── 1_maximum_amount_of_gold └── knapsack.cpp ├── 2_partitioning_souvenirs ├── partition3.cpp └── partition3_1.cpp ├── 3_maximum_value_of_an_arithmetic_expression └── placing_parentheses.cpp └── week6_dynamic_programming2.pdf /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/.clang-format -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/.vscode/tasks.json -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/README.md -------------------------------------------------------------------------------- /week1_programming_challenges/1_sum_of_two_digits/APlusB.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week1_programming_challenges/1_sum_of_two_digits/APlusB.cpp -------------------------------------------------------------------------------- /week1_programming_challenges/2_maximum_pairwise_product/max_pairwise_product.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week1_programming_challenges/2_maximum_pairwise_product/max_pairwise_product.cpp -------------------------------------------------------------------------------- /week1_programming_challenges/week1_programming_challenges.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week1_programming_challenges/week1_programming_challenges.pdf -------------------------------------------------------------------------------- /week2_algorithmic_warmup/1_fibonacci_number/fibonacci.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week2_algorithmic_warmup/1_fibonacci_number/fibonacci.cpp -------------------------------------------------------------------------------- /week2_algorithmic_warmup/2_last_digit_of_fibonacci_number/fibonacci_last_digit.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week2_algorithmic_warmup/2_last_digit_of_fibonacci_number/fibonacci_last_digit.cpp -------------------------------------------------------------------------------- /week2_algorithmic_warmup/3_greatest_common_divisor/gcd.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week2_algorithmic_warmup/3_greatest_common_divisor/gcd.cpp -------------------------------------------------------------------------------- /week2_algorithmic_warmup/4_least_common_multiple/lcm.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week2_algorithmic_warmup/4_least_common_multiple/lcm.cpp -------------------------------------------------------------------------------- /week2_algorithmic_warmup/5_fibonacci_number_again/fibonacci_huge.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week2_algorithmic_warmup/5_fibonacci_number_again/fibonacci_huge.cpp -------------------------------------------------------------------------------- /week2_algorithmic_warmup/6_last_digit_of_the_sum_of_fibonacci_numbers/fibonacci_sum_last_digit.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week2_algorithmic_warmup/6_last_digit_of_the_sum_of_fibonacci_numbers/fibonacci_sum_last_digit.cpp -------------------------------------------------------------------------------- /week2_algorithmic_warmup/7_last_digit_of_the_sum_of_fibonacci_numbers_again/fibonacci_partial_sum.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week2_algorithmic_warmup/7_last_digit_of_the_sum_of_fibonacci_numbers_again/fibonacci_partial_sum.cpp -------------------------------------------------------------------------------- /week2_algorithmic_warmup/8_last_digit_of_the_sum_of_squares_of_fibonacci_numbers/fibonacci_sum_squares.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week2_algorithmic_warmup/8_last_digit_of_the_sum_of_squares_of_fibonacci_numbers/fibonacci_sum_squares.cpp -------------------------------------------------------------------------------- /week2_algorithmic_warmup/week2_algorithmic_warmup.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week2_algorithmic_warmup/week2_algorithmic_warmup.pdf -------------------------------------------------------------------------------- /week3_greedy_algorithms/1_money_change/change.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week3_greedy_algorithms/1_money_change/change.cpp -------------------------------------------------------------------------------- /week3_greedy_algorithms/2_maximum_value_of_the_loot/fractional_knapsack.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week3_greedy_algorithms/2_maximum_value_of_the_loot/fractional_knapsack.cpp -------------------------------------------------------------------------------- /week3_greedy_algorithms/3_car_fueling/car_fueling.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week3_greedy_algorithms/3_car_fueling/car_fueling.cpp -------------------------------------------------------------------------------- /week3_greedy_algorithms/4_maximum_advertisement_revenue/dot_product.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week3_greedy_algorithms/4_maximum_advertisement_revenue/dot_product.cpp -------------------------------------------------------------------------------- /week3_greedy_algorithms/5_collecting_signatures/covering_segments.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week3_greedy_algorithms/5_collecting_signatures/covering_segments.cpp -------------------------------------------------------------------------------- /week3_greedy_algorithms/6_maximum_number_of_prizes/different_summands.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week3_greedy_algorithms/6_maximum_number_of_prizes/different_summands.cpp -------------------------------------------------------------------------------- /week3_greedy_algorithms/7_maximum_salary/largest_number.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week3_greedy_algorithms/7_maximum_salary/largest_number.cpp -------------------------------------------------------------------------------- /week3_greedy_algorithms/week3_greedy_algorithms.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week3_greedy_algorithms/week3_greedy_algorithms.pdf -------------------------------------------------------------------------------- /week4_divide_and_conquer/1_binary_search/binary_search.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week4_divide_and_conquer/1_binary_search/binary_search.cpp -------------------------------------------------------------------------------- /week4_divide_and_conquer/2_majority_element/majority_element.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week4_divide_and_conquer/2_majority_element/majority_element.cpp -------------------------------------------------------------------------------- /week4_divide_and_conquer/3_improving_quicksort/sorting.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week4_divide_and_conquer/3_improving_quicksort/sorting.cpp -------------------------------------------------------------------------------- /week4_divide_and_conquer/4_number_of_inversions/inversions.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week4_divide_and_conquer/4_number_of_inversions/inversions.cpp -------------------------------------------------------------------------------- /week4_divide_and_conquer/5_organizing_a_lottery/points_and_segments.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week4_divide_and_conquer/5_organizing_a_lottery/points_and_segments.cpp -------------------------------------------------------------------------------- /week4_divide_and_conquer/6_closest_points/closest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week4_divide_and_conquer/6_closest_points/closest.cpp -------------------------------------------------------------------------------- /week4_divide_and_conquer/week4_divide_and_conquer.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week4_divide_and_conquer/week4_divide_and_conquer.pdf -------------------------------------------------------------------------------- /week5_dynamic_programming1/1_money_change_again/change_dp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week5_dynamic_programming1/1_money_change_again/change_dp.cpp -------------------------------------------------------------------------------- /week5_dynamic_programming1/2_primitive_calculator/primitive_calculator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week5_dynamic_programming1/2_primitive_calculator/primitive_calculator.cpp -------------------------------------------------------------------------------- /week5_dynamic_programming1/3_edit_distance/edit_distance.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week5_dynamic_programming1/3_edit_distance/edit_distance.cpp -------------------------------------------------------------------------------- /week5_dynamic_programming1/4_longest_common_subsequence_of_two_sequences/lcs2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week5_dynamic_programming1/4_longest_common_subsequence_of_two_sequences/lcs2.cpp -------------------------------------------------------------------------------- /week5_dynamic_programming1/5_longest_common_subsequence_of_three_sequences/lcs3.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week5_dynamic_programming1/5_longest_common_subsequence_of_three_sequences/lcs3.cpp -------------------------------------------------------------------------------- /week5_dynamic_programming1/week5_dynamic_programming1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week5_dynamic_programming1/week5_dynamic_programming1.pdf -------------------------------------------------------------------------------- /week6_dynamic_programming2/1_maximum_amount_of_gold/knapsack.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week6_dynamic_programming2/1_maximum_amount_of_gold/knapsack.cpp -------------------------------------------------------------------------------- /week6_dynamic_programming2/2_partitioning_souvenirs/partition3.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week6_dynamic_programming2/2_partitioning_souvenirs/partition3.cpp -------------------------------------------------------------------------------- /week6_dynamic_programming2/2_partitioning_souvenirs/partition3_1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week6_dynamic_programming2/2_partitioning_souvenirs/partition3_1.cpp -------------------------------------------------------------------------------- /week6_dynamic_programming2/3_maximum_value_of_an_arithmetic_expression/placing_parentheses.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week6_dynamic_programming2/3_maximum_value_of_an_arithmetic_expression/placing_parentheses.cpp -------------------------------------------------------------------------------- /week6_dynamic_programming2/week6_dynamic_programming2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantosky/coursera-algorithmic-toolbox/HEAD/week6_dynamic_programming2/week6_dynamic_programming2.pdf --------------------------------------------------------------------------------