From fac7bbb1beb372b9f78783909189d30e06f0be2e Mon Sep 17 00:00:00 2001 From: Donne Martin Date: Mon, 6 Jul 2015 06:03:09 -0400 Subject: [PATCH] Tweaked constraints section discussion. --- arrays_strings/compress/compress_challenge.ipynb | 3 +-- arrays_strings/compress/compress_solution.ipynb | 3 +-- arrays_strings/hash_map/hash_map_challenge.ipynb | 3 +-- arrays_strings/hash_map/hash_map_solution.ipynb | 3 +-- arrays_strings/permutation/permutation_challenge.ipynb | 3 +-- arrays_strings/permutation/permutation_solution.ipynb | 3 +-- arrays_strings/reverse_string/reverse_string_challenge.ipynb | 3 +-- arrays_strings/reverse_string/reverse_string_solution.ipynb | 3 +-- arrays_strings/rotation/rotation_challenge.ipynb | 3 +-- arrays_strings/rotation/rotation_solution.ipynb | 3 +-- arrays_strings/unique_chars/unique_chars_challenge.ipynb | 3 +-- arrays_strings/unique_chars/unique_chars_solution.ipynb | 3 +-- linked_lists/add_reverse/add_reverse_challenge.ipynb | 3 +-- linked_lists/add_reverse/add_reverse_solution.ipynb | 3 +-- linked_lists/delete_mid/delete_mid_challenge.ipynb | 3 +-- linked_lists/delete_mid/delete_mid_solution.ipynb | 3 +-- linked_lists/find_loop_start/find_loop_start_challenge.ipynb | 3 +-- linked_lists/find_loop_start/find_loop_start_solution.ipynb | 3 +-- linked_lists/kth_to_last_elem/kth_to_last_elem_challenge.ipynb | 3 +-- linked_lists/kth_to_last_elem/kth_to_last_elem_solution.ipynb | 3 +-- linked_lists/linked_list/linked_list_challenge.ipynb | 3 +-- linked_lists/linked_list/linked_list_solution.ipynb | 3 +-- linked_lists/palindrome/palindrome_challenge.ipynb | 3 +-- linked_lists/palindrome/palindrome_solution.ipynb | 3 +-- linked_lists/partition/partition_challenge.ipynb | 3 +-- linked_lists/partition/partition_solution.ipynb | 3 +-- .../remove_duplicates/remove_duplicates_challenge.ipynb | 3 +-- .../remove_duplicates/remove_duplicates_solution.ipynb | 3 +-- online_judges/maximizing_xor/maximizing_xor_challenge.ipynb | 3 +-- online_judges/maximizing_xor/maximizing_xor_solution.ipynb | 3 +-- online_judges/utopian_tree/utopian_tree_challenge.ipynb | 3 +-- online_judges/utopian_tree/utopian_tree_solution.ipynb | 3 +-- recursion_dynamic/fibonacci/fibonacci_challenge.ipynb | 3 +-- recursion_dynamic/fibonacci/fibonacci_solution.ipynb | 3 +-- .../insertion_sort/insertion_sort_challenge.ipynb | 3 +-- sorting_searching/insertion_sort/insertion_sort_solution.ipynb | 3 +-- sorting_searching/merge_sort/merge_sort_challenge.ipynb | 3 +-- sorting_searching/merge_sort/merge_sort_solution.ipynb | 3 +-- sorting_searching/quick_sort/quick_sort_challenge.ipynb | 3 +-- sorting_searching/quick_sort/quick_sort_solution.ipynb | 3 +-- .../selection_sort/selection_sort_challenge.ipynb | 3 +-- sorting_searching/selection_sort/selection_sort_solution.ipynb | 3 +-- stacks_queues/hanoi/hanoi_challenge.ipynb | 3 +-- stacks_queues/hanoi/hanoi_solution.ipynb | 3 +-- stacks_queues/n_stacks/n_stacks_challenge.ipynb | 3 +-- stacks_queues/n_stacks/n_stacks_solution.ipynb | 3 +-- .../queue_from_stacks/queue_from_stacks_challenge.ipynb | 3 +-- .../queue_from_stacks/queue_from_stacks_solution.ipynb | 3 +-- stacks_queues/queue_list/queue_list_challenge.ipynb | 3 +-- stacks_queues/queue_list/queue_list_solution.ipynb | 3 +-- stacks_queues/set_of_stacks/set_of_stacks_challenge.ipynb | 3 +-- stacks_queues/set_of_stacks/set_of_stacks_solution.ipynb | 3 +-- stacks_queues/sort_stack/sort_stack_challenge.ipynb | 3 +-- stacks_queues/sort_stack/sort_stack_solution.ipynb | 3 +-- stacks_queues/stack/stack_challenge.ipynb | 3 +-- stacks_queues/stack/stack_solution.ipynb | 3 +-- stacks_queues/stack_min/stack_min_challenge.ipynb | 3 +-- stacks_queues/stack_min/stack_min_solution.ipynb | 3 +-- templates/foo_challenge.ipynb | 3 +-- templates/foo_solution.ipynb | 3 +-- 60 files changed, 60 insertions(+), 120 deletions(-) diff --git a/arrays_strings/compress/compress_challenge.ipynb b/arrays_strings/compress/compress_challenge.ipynb index ddf2c00..ad811f7 100644 --- a/arrays_strings/compress/compress_challenge.ipynb +++ b/arrays_strings/compress/compress_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can we assume the string is ASCII?\n", " * Yes\n", " * Note: Unicode strings could require special handling depending on your language\n", diff --git a/arrays_strings/compress/compress_solution.ipynb b/arrays_strings/compress/compress_solution.ipynb index 1b80285..2e81157 100644 --- a/arrays_strings/compress/compress_solution.ipynb +++ b/arrays_strings/compress/compress_solution.ipynb @@ -35,8 +35,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can we assume the string is ASCII?\n", " * Yes\n", " * Note: Unicode strings could require special handling depending on your language\n", diff --git a/arrays_strings/hash_map/hash_map_challenge.ipynb b/arrays_strings/hash_map/hash_map_challenge.ipynb index da6da5c..ddfa5e8 100644 --- a/arrays_strings/hash_map/hash_map_challenge.ipynb +++ b/arrays_strings/hash_map/hash_map_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* For simplicity, are the keys integers only?\n", " * Yes\n", "* For collision resolution, can we use linked lists?\n", diff --git a/arrays_strings/hash_map/hash_map_solution.ipynb b/arrays_strings/hash_map/hash_map_solution.ipynb index a4259bf..763f6b0 100644 --- a/arrays_strings/hash_map/hash_map_solution.ipynb +++ b/arrays_strings/hash_map/hash_map_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* For simplicity, are the keys integers only?\n", " * Yes\n", "* For collision resolution, can we use linked lists?\n", diff --git a/arrays_strings/permutation/permutation_challenge.ipynb b/arrays_strings/permutation/permutation_challenge.ipynb index b584b5e..f6f43a3 100644 --- a/arrays_strings/permutation/permutation_challenge.ipynb +++ b/arrays_strings/permutation/permutation_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can we assume the string is ASCII?\n", " * Yes\n", " * Note: Unicode strings could require special handling depending on your language\n", diff --git a/arrays_strings/permutation/permutation_solution.ipynb b/arrays_strings/permutation/permutation_solution.ipynb index ee01dee..6eb4e58 100644 --- a/arrays_strings/permutation/permutation_solution.ipynb +++ b/arrays_strings/permutation/permutation_solution.ipynb @@ -35,8 +35,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can we assume the string is ASCII?\n", " * Yes\n", " * Note: Unicode strings could require special handling depending on your language\n", diff --git a/arrays_strings/reverse_string/reverse_string_challenge.ipynb b/arrays_strings/reverse_string/reverse_string_challenge.ipynb index 8102318..c59e6ba 100644 --- a/arrays_strings/reverse_string/reverse_string_challenge.ipynb +++ b/arrays_strings/reverse_string/reverse_string_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can I assume the string is ASCII?\n", " * Yes\n", " * Note: Unicode strings could require special handling depending on your language\n", diff --git a/arrays_strings/reverse_string/reverse_string_solution.ipynb b/arrays_strings/reverse_string/reverse_string_solution.ipynb index 43f3376..c23822d 100644 --- a/arrays_strings/reverse_string/reverse_string_solution.ipynb +++ b/arrays_strings/reverse_string/reverse_string_solution.ipynb @@ -36,8 +36,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can I assume the string is ASCII?\n", " * Yes\n", " * Note: Unicode strings could require special handling depending on your language\n", diff --git a/arrays_strings/rotation/rotation_challenge.ipynb b/arrays_strings/rotation/rotation_challenge.ipynb index b880a29..e66ebe3 100644 --- a/arrays_strings/rotation/rotation_challenge.ipynb +++ b/arrays_strings/rotation/rotation_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can you assume the string is ASCII?\n", " * Yes\n", " * Note: Unicode strings could require special handling depending on your language\n", diff --git a/arrays_strings/rotation/rotation_solution.ipynb b/arrays_strings/rotation/rotation_solution.ipynb index 4eb1252..16b2d72 100644 --- a/arrays_strings/rotation/rotation_solution.ipynb +++ b/arrays_strings/rotation/rotation_solution.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can you assume the string is ASCII?\n", " * Yes\n", " * Note: Unicode strings could require special handling depending on your language\n", diff --git a/arrays_strings/unique_chars/unique_chars_challenge.ipynb b/arrays_strings/unique_chars/unique_chars_challenge.ipynb index 8b98a45..0e85a04 100644 --- a/arrays_strings/unique_chars/unique_chars_challenge.ipynb +++ b/arrays_strings/unique_chars/unique_chars_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can you assume the string is ASCII?\n", " * Yes\n", " * Note: Unicode strings could require special handling depending on your language\n", diff --git a/arrays_strings/unique_chars/unique_chars_solution.ipynb b/arrays_strings/unique_chars/unique_chars_solution.ipynb index 5687a91..752f68d 100644 --- a/arrays_strings/unique_chars/unique_chars_solution.ipynb +++ b/arrays_strings/unique_chars/unique_chars_solution.ipynb @@ -37,8 +37,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can you assume the string is ASCII?\n", " * Yes\n", " * Note: Unicode strings could require special handling depending on your language\n", diff --git a/linked_lists/add_reverse/add_reverse_challenge.ipynb b/linked_lists/add_reverse/add_reverse_challenge.ipynb index d44c956..b031efa 100644 --- a/linked_lists/add_reverse/add_reverse_challenge.ipynb +++ b/linked_lists/add_reverse/add_reverse_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Do you expect the return to be in reverse order too?\n", " * Yes\n", "* What if one of the inputs is None?\n", diff --git a/linked_lists/add_reverse/add_reverse_solution.ipynb b/linked_lists/add_reverse/add_reverse_solution.ipynb index c2bc863..a53d366 100644 --- a/linked_lists/add_reverse/add_reverse_solution.ipynb +++ b/linked_lists/add_reverse/add_reverse_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Do you expect the return to be in reverse order too?\n", " * Yes\n", "* What if one of the inputs is None?\n", diff --git a/linked_lists/delete_mid/delete_mid_challenge.ipynb b/linked_lists/delete_mid/delete_mid_challenge.ipynb index 7ca62b8..4954b13 100644 --- a/linked_lists/delete_mid/delete_mid_challenge.ipynb +++ b/linked_lists/delete_mid/delete_mid_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* What if the final node is being deleted, for example a single node list? Do we make it a dummy with value None?\n", " * Yes\n", "* Can we assume we already have a linked list class that can be used for this problem?\n", diff --git a/linked_lists/delete_mid/delete_mid_solution.ipynb b/linked_lists/delete_mid/delete_mid_solution.ipynb index 87baed0..45e9bac 100644 --- a/linked_lists/delete_mid/delete_mid_solution.ipynb +++ b/linked_lists/delete_mid/delete_mid_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* What if the final node is being deleted, for example a single node list? Do we make it a dummy with value None?\n", " * Yes\n", "* Can we assume we already have a linked list class that can be used for this problem?\n", diff --git a/linked_lists/find_loop_start/find_loop_start_challenge.ipynb b/linked_lists/find_loop_start/find_loop_start_challenge.ipynb index 58f8380..14f2df1 100644 --- a/linked_lists/find_loop_start/find_loop_start_challenge.ipynb +++ b/linked_lists/find_loop_start/find_loop_start_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is this a singly linked list?\n", " * Yes\n", "* Can we assume we are always passed a circular linked list?\n", diff --git a/linked_lists/find_loop_start/find_loop_start_solution.ipynb b/linked_lists/find_loop_start/find_loop_start_solution.ipynb index 6a2287e..02573c7 100644 --- a/linked_lists/find_loop_start/find_loop_start_solution.ipynb +++ b/linked_lists/find_loop_start/find_loop_start_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is this a singly linked list?\n", " * Yes\n", "* Can we assume we are always passed a circular linked list?\n", diff --git a/linked_lists/kth_to_last_elem/kth_to_last_elem_challenge.ipynb b/linked_lists/kth_to_last_elem/kth_to_last_elem_challenge.ipynb index 850132c..bcd43f6 100644 --- a/linked_lists/kth_to_last_elem/kth_to_last_elem_challenge.ipynb +++ b/linked_lists/kth_to_last_elem/kth_to_last_elem_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can we assume k is a valid integer?\n", " * Yes\n", "* If k = 0, does this return the last element?\n", diff --git a/linked_lists/kth_to_last_elem/kth_to_last_elem_solution.ipynb b/linked_lists/kth_to_last_elem/kth_to_last_elem_solution.ipynb index 3e65a9c..8a29f03 100644 --- a/linked_lists/kth_to_last_elem/kth_to_last_elem_solution.ipynb +++ b/linked_lists/kth_to_last_elem/kth_to_last_elem_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can we assume k is a valid integer?\n", " * Yes\n", "* If k = 0, does this return the last element?\n", diff --git a/linked_lists/linked_list/linked_list_challenge.ipynb b/linked_lists/linked_list/linked_list_challenge.ipynb index af1ff94..4761bfd 100644 --- a/linked_lists/linked_list/linked_list_challenge.ipynb +++ b/linked_lists/linked_list/linked_list_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is this a singly or doubly linked list?\n", " * Singly\n", "* Is this a circular list?\n", diff --git a/linked_lists/linked_list/linked_list_solution.ipynb b/linked_lists/linked_list/linked_list_solution.ipynb index 71b4422..df3f261 100644 --- a/linked_lists/linked_list/linked_list_solution.ipynb +++ b/linked_lists/linked_list/linked_list_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is this a singly or doubly linked list?\n", " * Singly\n", "* Is this a circular list?\n", diff --git a/linked_lists/palindrome/palindrome_challenge.ipynb b/linked_lists/palindrome/palindrome_challenge.ipynb index a3205f7..596e03f 100644 --- a/linked_lists/palindrome/palindrome_challenge.ipynb +++ b/linked_lists/palindrome/palindrome_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is a single character or number a palindrome?\n", " * No\n", "* Can we assume we already have a linked list class that can be used for this problem?\n", diff --git a/linked_lists/palindrome/palindrome_solution.ipynb b/linked_lists/palindrome/palindrome_solution.ipynb index 0f4403f..0dda885 100644 --- a/linked_lists/palindrome/palindrome_solution.ipynb +++ b/linked_lists/palindrome/palindrome_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is a single character or number a palindrome?\n", " * No\n", "* Can we assume we already have a linked list class that can be used for this problem?\n", diff --git a/linked_lists/partition/partition_challenge.ipynb b/linked_lists/partition/partition_challenge.ipynb index c2b0ef3..699f15b 100644 --- a/linked_lists/partition/partition_challenge.ipynb +++ b/linked_lists/partition/partition_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can we create additional data structures?\n", " * Yes\n", "* Do you expect the function to return a new list?\n", diff --git a/linked_lists/partition/partition_solution.ipynb b/linked_lists/partition/partition_solution.ipynb index 891350c..d6debd2 100644 --- a/linked_lists/partition/partition_solution.ipynb +++ b/linked_lists/partition/partition_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can we create additional data structures?\n", " * Yes\n", "* Do you expect the function to return a new list?\n", diff --git a/linked_lists/remove_duplicates/remove_duplicates_challenge.ipynb b/linked_lists/remove_duplicates/remove_duplicates_challenge.ipynb index d67fd4a..f734ea8 100644 --- a/linked_lists/remove_duplicates/remove_duplicates_challenge.ipynb +++ b/linked_lists/remove_duplicates/remove_duplicates_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is this a singly or doubly linked list?\n", " * Singly\n", "* Can you insert None values in the list?\n", diff --git a/linked_lists/remove_duplicates/remove_duplicates_solution.ipynb b/linked_lists/remove_duplicates/remove_duplicates_solution.ipynb index 84c0c42..fa28341 100644 --- a/linked_lists/remove_duplicates/remove_duplicates_solution.ipynb +++ b/linked_lists/remove_duplicates/remove_duplicates_solution.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is this a singly or doubly linked list?\n", " * Singly\n", "* Can you insert None values in the list?\n", diff --git a/online_judges/maximizing_xor/maximizing_xor_challenge.ipynb b/online_judges/maximizing_xor/maximizing_xor_challenge.ipynb index 44168ba..4ca9ced 100644 --- a/online_judges/maximizing_xor/maximizing_xor_challenge.ipynb +++ b/online_judges/maximizing_xor/maximizing_xor_challenge.ipynb @@ -36,8 +36,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "See the [HackerRank problem page](https://www.hackerrank.com/challenges/maximizing-xor)." ] }, diff --git a/online_judges/maximizing_xor/maximizing_xor_solution.ipynb b/online_judges/maximizing_xor/maximizing_xor_solution.ipynb index bb9592f..a1d5a05 100644 --- a/online_judges/maximizing_xor/maximizing_xor_solution.ipynb +++ b/online_judges/maximizing_xor/maximizing_xor_solution.ipynb @@ -35,8 +35,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "See the [HackerRank problem page](https://www.hackerrank.com/challenges/maximizing-xor)." ] }, diff --git a/online_judges/utopian_tree/utopian_tree_challenge.ipynb b/online_judges/utopian_tree/utopian_tree_challenge.ipynb index 8de1a43..0f42186 100644 --- a/online_judges/utopian_tree/utopian_tree_challenge.ipynb +++ b/online_judges/utopian_tree/utopian_tree_challenge.ipynb @@ -36,8 +36,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "See the [HackerRank problem page](https://www.hackerrank.com/challenges/utopian-tree)." ] }, diff --git a/online_judges/utopian_tree/utopian_tree_solution.ipynb b/online_judges/utopian_tree/utopian_tree_solution.ipynb index 582b050..5762a04 100644 --- a/online_judges/utopian_tree/utopian_tree_solution.ipynb +++ b/online_judges/utopian_tree/utopian_tree_solution.ipynb @@ -35,8 +35,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "See the [HackerRank problem page](https://www.hackerrank.com/challenges/utopian-tree)." ] }, diff --git a/recursion_dynamic/fibonacci/fibonacci_challenge.ipynb b/recursion_dynamic/fibonacci/fibonacci_challenge.ipynb index a7c5cb2..ab9a143 100644 --- a/recursion_dynamic/fibonacci/fibonacci_challenge.ipynb +++ b/recursion_dynamic/fibonacci/fibonacci_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* None" ] }, diff --git a/recursion_dynamic/fibonacci/fibonacci_solution.ipynb b/recursion_dynamic/fibonacci/fibonacci_solution.ipynb index bea98e5..1b8cab4 100644 --- a/recursion_dynamic/fibonacci/fibonacci_solution.ipynb +++ b/recursion_dynamic/fibonacci/fibonacci_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* None" ] }, diff --git a/sorting_searching/insertion_sort/insertion_sort_challenge.ipynb b/sorting_searching/insertion_sort/insertion_sort_challenge.ipynb index a33289a..c8a7f69 100644 --- a/sorting_searching/insertion_sort/insertion_sort_challenge.ipynb +++ b/sorting_searching/insertion_sort/insertion_sort_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is a naiive solution sufficient?\n", " * Yes" ] diff --git a/sorting_searching/insertion_sort/insertion_sort_solution.ipynb b/sorting_searching/insertion_sort/insertion_sort_solution.ipynb index adf1ed0..58cd4f6 100644 --- a/sorting_searching/insertion_sort/insertion_sort_solution.ipynb +++ b/sorting_searching/insertion_sort/insertion_sort_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is a naiive solution sufficient?\n", " * Yes" ] diff --git a/sorting_searching/merge_sort/merge_sort_challenge.ipynb b/sorting_searching/merge_sort/merge_sort_challenge.ipynb index d81c3bb..bc830a5 100644 --- a/sorting_searching/merge_sort/merge_sort_challenge.ipynb +++ b/sorting_searching/merge_sort/merge_sort_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is a naiive solution sufficient?\n", " * Yes" ] diff --git a/sorting_searching/merge_sort/merge_sort_solution.ipynb b/sorting_searching/merge_sort/merge_sort_solution.ipynb index 612b6b8..3d721a4 100644 --- a/sorting_searching/merge_sort/merge_sort_solution.ipynb +++ b/sorting_searching/merge_sort/merge_sort_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is a naiive solution sufficient?\n", " * Yes" ] diff --git a/sorting_searching/quick_sort/quick_sort_challenge.ipynb b/sorting_searching/quick_sort/quick_sort_challenge.ipynb index 0cc3f00..3e14a45 100644 --- a/sorting_searching/quick_sort/quick_sort_challenge.ipynb +++ b/sorting_searching/quick_sort/quick_sort_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is a naiive solution sufficient (ie not in-place)?\n", " * Yes" ] diff --git a/sorting_searching/quick_sort/quick_sort_solution.ipynb b/sorting_searching/quick_sort/quick_sort_solution.ipynb index 7abc2d6..73abdc9 100644 --- a/sorting_searching/quick_sort/quick_sort_solution.ipynb +++ b/sorting_searching/quick_sort/quick_sort_solution.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is a naiive solution sufficient (ie not in-place)?\n", " * Yes" ] diff --git a/sorting_searching/selection_sort/selection_sort_challenge.ipynb b/sorting_searching/selection_sort/selection_sort_challenge.ipynb index 540106d..e34e41c 100644 --- a/sorting_searching/selection_sort/selection_sort_challenge.ipynb +++ b/sorting_searching/selection_sort/selection_sort_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is a naiive solution sufficient (ie not stable, not based on a heap)?\n", " * Yes" ] diff --git a/sorting_searching/selection_sort/selection_sort_solution.ipynb b/sorting_searching/selection_sort/selection_sort_solution.ipynb index e2b251f..7752580 100644 --- a/sorting_searching/selection_sort/selection_sort_solution.ipynb +++ b/sorting_searching/selection_sort/selection_sort_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is a naiive solution sufficient (ie not stable, not based on a heap)?\n", " * Yes" ] diff --git a/stacks_queues/hanoi/hanoi_challenge.ipynb b/stacks_queues/hanoi/hanoi_challenge.ipynb index 38d6a2d..09a13c2 100644 --- a/stacks_queues/hanoi/hanoi_challenge.ipynb +++ b/stacks_queues/hanoi/hanoi_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can we assume we already have a stack class that can be used for this problem?\n", " * Yes" ] diff --git a/stacks_queues/hanoi/hanoi_solution.ipynb b/stacks_queues/hanoi/hanoi_solution.ipynb index 94942da..c98c976 100644 --- a/stacks_queues/hanoi/hanoi_solution.ipynb +++ b/stacks_queues/hanoi/hanoi_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can we assume we already have a stack class that can be used for this problem?\n", " * Yes" ] diff --git a/stacks_queues/n_stacks/n_stacks_challenge.ipynb b/stacks_queues/n_stacks/n_stacks_challenge.ipynb index 0d6ac4b..9148124 100644 --- a/stacks_queues/n_stacks/n_stacks_challenge.ipynb +++ b/stacks_queues/n_stacks/n_stacks_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Are the stacks and array a fixed size?\n", " * Yes" ] diff --git a/stacks_queues/n_stacks/n_stacks_solution.ipynb b/stacks_queues/n_stacks/n_stacks_solution.ipynb index 6be6089..d741bf1 100644 --- a/stacks_queues/n_stacks/n_stacks_solution.ipynb +++ b/stacks_queues/n_stacks/n_stacks_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Are the stacks and array a fixed size?\n", " * Yes" ] diff --git a/stacks_queues/queue_from_stacks/queue_from_stacks_challenge.ipynb b/stacks_queues/queue_from_stacks/queue_from_stacks_challenge.ipynb index 8c6027b..1819fac 100644 --- a/stacks_queues/queue_from_stacks/queue_from_stacks_challenge.ipynb +++ b/stacks_queues/queue_from_stacks/queue_from_stacks_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Do you expect the methods to be enqueue and dequeue?\n", " * Yes\n", "* Can we assume we already have a stack class that can be used for this problem?\n", diff --git a/stacks_queues/queue_from_stacks/queue_from_stacks_solution.ipynb b/stacks_queues/queue_from_stacks/queue_from_stacks_solution.ipynb index 4b8baa1..149bd5e 100644 --- a/stacks_queues/queue_from_stacks/queue_from_stacks_solution.ipynb +++ b/stacks_queues/queue_from_stacks/queue_from_stacks_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Do you expect the methods to be enqueue and dequeue?\n", " * Yes\n", "* Can we assume we already have a stack class that can be used for this problem?\n", diff --git a/stacks_queues/queue_list/queue_list_challenge.ipynb b/stacks_queues/queue_list/queue_list_challenge.ipynb index a93acdb..04024be 100644 --- a/stacks_queues/queue_list/queue_list_challenge.ipynb +++ b/stacks_queues/queue_list/queue_list_challenge.ipynb @@ -35,8 +35,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* If there is one item in the list, do you expect the first and last pointers to both point to it?\n", " * Yes\n", "* If there are no items on the list, do you expect the first and last pointers to be None?\n", diff --git a/stacks_queues/queue_list/queue_list_solution.ipynb b/stacks_queues/queue_list/queue_list_solution.ipynb index ae9dd72..00a46c1 100644 --- a/stacks_queues/queue_list/queue_list_solution.ipynb +++ b/stacks_queues/queue_list/queue_list_solution.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* If there is one item in the list, do you expect the first and last pointers to both point to it?\n", " * Yes\n", "* If there are no items on the list, do you expect the first and last pointers to be None?\n", diff --git a/stacks_queues/set_of_stacks/set_of_stacks_challenge.ipynb b/stacks_queues/set_of_stacks/set_of_stacks_challenge.ipynb index 354e01d..d5b8abd 100644 --- a/stacks_queues/set_of_stacks/set_of_stacks_challenge.ipynb +++ b/stacks_queues/set_of_stacks/set_of_stacks_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can we assume we already have a stack class that can be used for this problem?\n", " * Yes\n", "* If a stack becomes full, we should automatically create one?\n", diff --git a/stacks_queues/set_of_stacks/set_of_stacks_solution.ipynb b/stacks_queues/set_of_stacks/set_of_stacks_solution.ipynb index da86c28..45673f4 100644 --- a/stacks_queues/set_of_stacks/set_of_stacks_solution.ipynb +++ b/stacks_queues/set_of_stacks/set_of_stacks_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can we assume we already have a stack class that can be used for this problem?\n", " * Yes\n", "* If a stack becomes full, we should automatically create one?\n", diff --git a/stacks_queues/sort_stack/sort_stack_challenge.ipynb b/stacks_queues/sort_stack/sort_stack_challenge.ipynb index 6695356..41b610d 100644 --- a/stacks_queues/sort_stack/sort_stack_challenge.ipynb +++ b/stacks_queues/sort_stack/sort_stack_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* When sorted, should the largest element be at the top or bottom?\n", " * Top\n", "* Can you have duplicate values like 5, 5?\n", diff --git a/stacks_queues/sort_stack/sort_stack_solution.ipynb b/stacks_queues/sort_stack/sort_stack_solution.ipynb index 052c0c8..98dd44f 100644 --- a/stacks_queues/sort_stack/sort_stack_solution.ipynb +++ b/stacks_queues/sort_stack/sort_stack_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* When sorted, should the largest element be at the top or bottom?\n", " * Top\n", "* Can you have duplicate values like 5, 5?\n", diff --git a/stacks_queues/stack/stack_challenge.ipynb b/stacks_queues/stack/stack_challenge.ipynb index e89176f..eeb2e7c 100644 --- a/stacks_queues/stack/stack_challenge.ipynb +++ b/stacks_queues/stack/stack_challenge.ipynb @@ -35,8 +35,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* None" ] }, diff --git a/stacks_queues/stack/stack_solution.ipynb b/stacks_queues/stack/stack_solution.ipynb index 247af84..bc81cad 100644 --- a/stacks_queues/stack/stack_solution.ipynb +++ b/stacks_queues/stack/stack_solution.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* None" ] }, diff --git a/stacks_queues/stack_min/stack_min_challenge.ipynb b/stacks_queues/stack_min/stack_min_challenge.ipynb index 0c86ad3..00bbad0 100644 --- a/stacks_queues/stack_min/stack_min_challenge.ipynb +++ b/stacks_queues/stack_min/stack_min_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can we assume this is a stack of ints?\n", " * Yes\n", "* If we call this function on an empty stack, can we return max int?\n", diff --git a/stacks_queues/stack_min/stack_min_solution.ipynb b/stacks_queues/stack_min/stack_min_solution.ipynb index f4978e3..493c286 100644 --- a/stacks_queues/stack_min/stack_min_solution.ipynb +++ b/stacks_queues/stack_min/stack_min_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Can we assume this is a stack of ints?\n", " * Yes\n", "* If we call this function on an empty stack, can we return max int?\n", diff --git a/templates/foo_challenge.ipynb b/templates/foo_challenge.ipynb index 8977c47..517c4a1 100644 --- a/templates/foo_challenge.ipynb +++ b/templates/foo_challenge.ipynb @@ -34,8 +34,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is it foo or bar?\n", " * foo" ] diff --git a/templates/foo_solution.ipynb b/templates/foo_solution.ipynb index 5f4b4e1..b7d8b00 100644 --- a/templates/foo_solution.ipynb +++ b/templates/foo_solution.ipynb @@ -33,8 +33,7 @@ "source": [ "## Constraints\n", "\n", - "*Problem statements are sometimes ambiguous. Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", - "\n", + "* Is it foo or bar?\n", " * foo" ]