> ## Documentation Index
> Fetch the complete documentation index at: https://leetcode-py.wisl.dev/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> leetcode-py is a Python LeetCode practice environment generator with one CLI: lcpy. It is not a service or platform.
> Each problem is a directory under leetcode/ with README.md, solution.py, test_solution.py, helpers.py, and playground.ipynb. lcpy gen creates them from JSON templates bundled with the package.
> Examples are backed by tests; copy them verbatim.

# String in Python, Part 2

> All 380 String LeetCode problems with tested Python solutions. Part 2 of 2: problems 201-380.

String holds 380 problems (100 Easy, 201 Medium, 79 Hard).
Generate any of them into the current directory with `lcpy gen -n <number>`.

<div className="sd-catalog-table">
  | # | Problem | Difficulty | Solution |
  | - | - | - | - |
  | 770 | [Basic Calculator IV](/problems/basic-calculator-iv) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/basic_calculator_iv/solution.py) |
  | 771 | [Jewels and Stones](/problems/jewels-and-stones) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/jewels_and_stones/solution.py) |
  | 772 | [Basic Calculator III](/problems/basic-calculator-iii) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/basic_calculator_iii/solution.py) |
  | 777 | [Swap Adjacent in LR String](/problems/swap-adjacent-in-lr-string) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/swap_adjacent_in_lr_string/solution.py) |
  | 784 | [Letter Case Permutation](/problems/letter-case-permutation) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/letter_case_permutation/solution.py) |
  | 791 | [Custom Sort String](/problems/custom-sort-string) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/custom_sort_string/solution.py) |
  | 792 | [Number of Matching Subsequences](/problems/number-of-matching-subsequences) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_matching_subsequences/solution.py) |
  | 796 | [Rotate String](/problems/rotate-string) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/rotate_string/solution.py) |
  | 800 | [Similar RGB Color](/problems/similar-rgb-color) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/similar_rgb_color/solution.py) |
  | 804 | [Unique Morse Code Words](/problems/unique-morse-code-words) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/unique_morse_code_words/solution.py) |
  | 806 | [Number of Lines To Write String](/problems/number-of-lines-to-write-string) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_lines_to_write_string/solution.py) |
  | 809 | [Expressive Words](/problems/expressive-words) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/expressive_words/solution.py) |
  | 811 | [Subdomain Visit Count](/problems/subdomain-visit-count) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/subdomain_visit_count/solution.py) |
  | 816 | [Ambiguous Coordinates](/problems/ambiguous-coordinates) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/ambiguous_coordinates/solution.py) |
  | 819 | [Most Common Word](/problems/most-common-word) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/most_common_word/solution.py) |
  | 820 | [Short Encoding of Words](/problems/short-encoding-of-words) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/short_encoding_of_words/solution.py) |
  | 821 | [Shortest Distance to a Character](/problems/shortest-distance-to-a-character) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shortest_distance_to_a_character/solution.py) |
  | 824 | [Goat Latin](/problems/goat-latin) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/goat_latin/solution.py) |
  | 828 | [Count Unique Characters of All Substrings of a Given String](/problems/count-unique-characters-of-all-substrings-of-a-given-string) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/count_unique_characters_of_all_substrings_of_a_given_string/solution.py) |
  | 830 | [Positions of Large Groups](/problems/positions-of-large-groups) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/positions_of_large_groups/solution.py) |
  | 831 | [Masking Personal Information](/problems/masking-personal-information) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/masking_personal_information/solution.py) |
  | 833 | [Find And Replace in String](/problems/find-and-replace-in-string) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_and_replace_in_string/solution.py) |
  | 838 | [Push Dominoes](/problems/push-dominoes) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/push_dominoes/solution.py) |
  | 839 | [Similar String Groups](/problems/similar-string-groups) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/similar_string_groups/solution.py) |
  | 842 | [Split Array into Fibonacci Sequence](/problems/split-into-fibonacci-sequence) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/split_into_fibonacci_sequence/solution.py) |
  | 843 | [Guess the Word](/problems/guess-the-word) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/guess_the_word/solution.py) |
  | 844 | [Backspace String Compare](/problems/backspace-string-compare) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/backspace_string_compare/solution.py) |
  | 848 | [Shifting Letters](/problems/shifting-letters) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shifting_letters/solution.py) |
  | 854 | [K-Similar Strings](/problems/k-similarity) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/k_similarity/solution.py) |
  | 856 | [Score of Parentheses](/problems/score-of-parentheses) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/score_of_parentheses/solution.py) |
  | 859 | [Buddy Strings](/problems/buddy-strings) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/buddy_strings/solution.py) |
  | 880 | [Decoded String at Index](/problems/decoded-string-at-index) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/decoded_string_at_index/solution.py) |
  | 884 | [Uncommon Words from Two Sentences](/problems/uncommon-words-from-two-sentences) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/uncommon_words_from_two_sentences/solution.py) |
  | 890 | [Find and Replace Pattern](/problems/find-and-replace-pattern) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_and_replace_pattern/solution.py) |
  | 893 | [Groups of Special-Equivalent Strings](/problems/groups-of-special-equivalent-strings) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/groups_of_special_equivalent_strings/solution.py) |
  | 899 | [Orderly Queue](/problems/orderly-queue) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/orderly_queue/solution.py) |
  | 902 | [Numbers At Most N Given Digit Set](/problems/numbers-at-most-n-given-digit-set) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/numbers_at_most_n_given_digit_set/solution.py) |
  | 903 | [Valid Permutations for DI Sequence](/problems/valid-permutations-for-di-sequence) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_permutations_for_di_sequence/solution.py) |
  | 906 | [Super Palindromes](/problems/super-palindromes) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/super_palindromes/solution.py) |
  | 916 | [Word Subsets](/problems/word-subsets) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/word_subsets/solution.py) |
  | 917 | [Reverse Only Letters](/problems/reverse-only-letters) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reverse_only_letters/solution.py) |
  | 921 | [Minimum Add to Make Parentheses Valid](/problems/minimum-add-to-make-parentheses-valid) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_add_to_make_parentheses_valid/solution.py) |
  | 925 | [Long Pressed Name](/problems/long-pressed-name) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/long_pressed_name/solution.py) |
  | 926 | [Flip String to Monotone Increasing](/problems/flip-string-to-monotone-increasing) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/flip_string_to_monotone_increasing/solution.py) |
  | 929 | [Unique Email Addresses](/problems/unique-email-addresses) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/unique_email_addresses/solution.py) |
  | 936 | [Stamping The Sequence](/problems/stamping-the-sequence) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/stamping_the_sequence/solution.py) |
  | 937 | [Reorder Data in Log Files](/problems/reorder-log-files) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reorder_log_files/solution.py) |
  | 940 | [Distinct Subsequences II](/problems/distinct-subsequences-ii) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/distinct_subsequences_ii/solution.py) |
  | 942 | [DI String Match](/problems/di-string-match) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/di_string_match/solution.py) |
  | 943 | [Find the Shortest Superstring](/problems/find-the-shortest-superstring) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_the_shortest_superstring/solution.py) |
  | 944 | [Delete Columns to Make Sorted](/problems/delete-columns-to-make-sorted) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/delete_columns_to_make_sorted/solution.py) |
  | 949 | [Largest Time for Given Digits](/problems/largest-time-for-given-digits) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/largest_time_for_given_digits/solution.py) |
  | 953 | [Verifying an Alien Dictionary](/problems/verifying-an-alien-dictionary) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/verifying_an_alien_dictionary/solution.py) |
  | 955 | [Delete Columns to Make Sorted II](/problems/delete-columns-to-make-sorted-ii) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/delete_columns_to_make_sorted_ii/solution.py) |
  | 960 | [Delete Columns to Make Sorted III](/problems/delete-columns-to-make-sorted-iii) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/delete_columns_to_make_sorted_iii/solution.py) |
  | 966 | [Vowel Spellchecker](/problems/vowel-spellchecker) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/vowel_spellchecker/solution.py) |
  | 972 | [Equal Rational Numbers](/problems/equal-rational-numbers) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/equal_rational_numbers/solution.py) |
  | 981 | [Time Based Key-Value Store](/problems/time-based-key-value-store) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/time_based_key_value_store/solution.py) |
  | 984 | [String Without AAA or BBB](/problems/string-without-aaa-or-bbb) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/string_without_aaa_or_bbb/solution.py) |
  | 988 | [Smallest String Starting From Leaf](/problems/smallest-string-starting-from-leaf) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/smallest_string_starting_from_leaf/solution.py) |
  | 990 | [Satisfiability of Equality Equations](/problems/satisfiability-of-equality-equations) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/satisfiability_of_equality_equations/solution.py) |
  | 1002 | [Find Common Characters](/problems/find-common-characters) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_common_characters/solution.py) |
  | 1028 | [Recover a Tree From Preorder Traversal](/problems/recover-a-tree-from-preorder-traversal) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/recover_a_tree_from_preorder_traversal/solution.py) |
  | 1041 | [Robot Bounded In Circle](/problems/robot-bounded-in-circle) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/robot_bounded_in_circle/solution.py) |
  | 1048 | [Longest String Chain](/problems/longest-string-chain) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_string_chain/solution.py) |
  | 1055 | [Shortest Way to Form String](/problems/shortest-way-to-form-string) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shortest_way_to_form_string/solution.py) |
  | 1058 | [Minimize Rounding Error to Meet Target](/problems/minimize-rounding-error-to-meet-target) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimize_rounding_error_to_meet_target/solution.py) |
  | 1071 | [Greatest Common Divisor of Strings](/problems/gcd-of-strings) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/gcd_of_strings/solution.py) |
  | 1079 | [Letter Tile Possibilities](/problems/letter-tile-possibilities) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/letter_tile_possibilities/solution.py) |
  | 1087 | [Brace Expansion](/problems/brace-expansion) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/brace_expansion/solution.py) |
  | 1092 | [Shortest Common Supersequence](/problems/shortest-common-supersequence) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shortest_common_supersequence/solution.py) |
  | 1100 | [Find K-Length Substrings With No Repeated Characters](/problems/find-k-length-substrings-with-no-repeated-characters) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_k_length_substrings_with_no_repeated_characters/solution.py) |
  | 1106 | [Parsing A Boolean Expression](/problems/parsing-a-boolean-expression) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/parsing_a_boolean_expression/solution.py) |
  | 1143 | [Longest Common Subsequence](/problems/longest-common-subsequence) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_common_subsequence/solution.py) |
  | 1152 | [Analyze User Website Visit Pattern](/problems/analyze-user-website-visit-pattern) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/analyze_user_website_visit_pattern/solution.py) |
  | 1160 | [Find Words That Can Be Formed by Characters](/problems/find-words-that-can-be-formed-by-characters) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_words_that_can_be_formed_by_characters/solution.py) |
  | 1165 | [Single-Row Keyboard](/problems/single-row-keyboard) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/single_row_keyboard/solution.py) |
  | 1166 | [Design File System](/problems/design-file-system) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/design_file_system/solution.py) |
  | 1180 | [Count Substrings with Only One Distinct Letter](/problems/count-substrings-with-only-one-distinct-letter) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/count_substrings_with_only_one_distinct_letter/solution.py) |
  | 1189 | [Maximum Number of Balloons](/problems/maximum-number-of-balloons) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_number_of_balloons/solution.py) |
  | 1190 | [Reverse Substrings Between Each Pair of Parentheses](/problems/reverse-substrings-between-each-pair-of-parentheses) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reverse_substrings_between_each_pair_of_parentheses/solution.py) |
  | 1208 | [Get Equal Substrings Within Budget](/problems/get-equal-substrings-within-budget) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/get_equal_substrings_within_budget/solution.py) |
  | 1209 | [Remove All Adjacent Duplicates in String II](/problems/remove-all-adjacent-duplicates-in-string-ii) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/remove_all_adjacent_duplicates_in_string_ii/solution.py) |
  | 1216 | [Valid Palindrome III](/problems/valid-palindrome-iii) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_palindrome_iii/solution.py) |
  | 1233 | [Remove Sub-Folders from the Filesystem](/problems/remove-sub-folders-from-the-filesystem) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/remove_sub_folders_from_the_filesystem/solution.py) |
  | 1236 | [Web Crawler](/problems/web-crawler) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/web_crawler/solution.py) |
  | 1239 | [Maximum Length of a Concatenated String with Unique Characters](/problems/maximum-length-of-a-concatenated-string-with-unique-characters) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_length_of_a_concatenated_string_with_unique_characters/solution.py) |
  | 1249 | [Minimum Remove to Make Valid Parentheses](/problems/minimum-remove-to-make-valid-parentheses) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_remove_to_make_valid_parentheses/solution.py) |
  | 1255 | [Maximum Score Words Formed by Letters](/problems/maximum-score-words-formed-by-letters) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_score_words_formed_by_letters/solution.py) |
  | 1258 | [Synonymous Sentences](/problems/synonymous-sentences) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/synonymous_sentences/solution.py) |
  | 1268 | [Search Suggestions System](/problems/search-suggestions-system) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/search_suggestions_system/solution.py) |
  | 1358 | [Number of Substrings Containing All Three Characters](/problems/number-of-substrings-containing-all-three-characters) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_substrings_containing_all_three_characters/solution.py) |
  | 1371 | [Find the Longest Substring Containing Vowels in Even Counts](/problems/find-the-longest-substring-containing-vowels-in-even-counts) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_the_longest_substring_containing_vowels_in_even_counts/solution.py) |
  | 1396 | [Design Underground System](/problems/design-underground-system) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/design_underground_system/solution.py) |
  | 1400 | [Construct K Palindrome Strings](/problems/construct-k-palindrome-strings) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/construct_k_palindrome_strings/solution.py) |
  | 1405 | [Longest Happy String](/problems/longest-happy-string) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_happy_string/solution.py) |
  | 1408 | [String Matching in an Array](/problems/string-matching-in-an-array) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/string_matching_in_an_array/solution.py) |
  | 1415 | [The k-th Lexicographical String of All Happy Strings of Length n](/problems/k-th-lexicographical-string-of-all-happy-strings-of-length-n) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/k_th_lexicographical_string_of_all_happy_strings_of_length_n/solution.py) |
  | 1422 | [Maximum Score After Splitting a String](/problems/maximum-score-after-splitting-a-string) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_score_after_splitting_a_string/solution.py) |
  | 1427 | [Perform String Shifts](/problems/perform-string-shifts) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/perform_string_shifts/solution.py) |
  | 1436 | [Destination City](/problems/destination-city) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/destination_city/solution.py) |
  | 1456 | [Maximum Number of Vowels in a Substring of Given Length](/problems/maximum-number-of-vowels-in-a-substring-of-given-length) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_number_of_vowels_in_a_substring_of_given_length/solution.py) |
  | 1461 | [Check If a String Contains All Binary Codes of Size K](/problems/check-if-a-string-contains-all-binary-codes-of-size-k) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/check_if_a_string_contains_all_binary_codes_of_size_k/solution.py) |
  | 1496 | [Path Crossing](/problems/path-crossing) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/path_crossing/solution.py) |
  | 1531 | [String Compression II](/problems/string-compression-ii) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/string_compression_ii/solution.py) |
  | 1544 | [Make The String Great](/problems/make-the-string-great) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/make_the_string_great/solution.py) |
  | 1545 | [Find Kth Bit in Nth Binary String](/problems/find-kth-bit-in-nth-binary-string) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_kth_bit_in_nth_binary_string/solution.py) |
  | 1578 | [Minimum Time to Make Rope Colorful](/problems/minimum-time-to-make-rope-colorful) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_time_to_make_rope_colorful/solution.py) |
  | 1593 | [Split a String Into the Max Number of Unique Substrings](/problems/split-a-string-into-the-max-number-of-unique-substrings) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/split_a_string_into_the_max_number_of_unique_substrings/solution.py) |
  | 1598 | [Crawler Log Folder](/problems/crawler-log-folder) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/crawler_log_folder/solution.py) |
  | 1614 | [Maximum Nesting Depth of the Parentheses](/problems/maximum-nesting-depth-of-the-parentheses) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_nesting_depth_of_the_parentheses/solution.py) |
  | 1624 | [Largest Substring Between Two Equal Characters](/problems/largest-substring-between-two-equal-characters) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/largest_substring_between_two_equal_characters/solution.py) |
  | 1639 | [Number of Ways to Form a Target String Given a Dictionary](/problems/number-of-ways-to-form-a-target-string-given-a-dictionary) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_ways_to_form_a_target_string_given_a_dictionary/solution.py) |
  | 1647 | [Minimum Deletions to Make Character Frequencies Unique](/problems/minimum-deletions-to-make-character-frequencies-unique) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_deletions_to_make_character_frequencies_unique/solution.py) |
  | 1653 | [Minimum Deletions to Make String Balanced](/problems/minimum-deletions-to-make-string-balanced) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_deletions_to_make_string_balanced/solution.py) |
  | 1662 | [Check If Two String Arrays are Equivalent](/problems/array-strings-are-equal) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/array_strings_are_equal/solution.py) |
  | 1684 | [Count the Number of Consistent Strings](/problems/count-the-number-of-consistent-strings) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/count_the_number_of_consistent_strings/solution.py) |
  | 1717 | [Maximum Score From Removing Substrings](/problems/maximum-score-from-removing-substrings) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_score_from_removing_substrings/solution.py) |
  | 1750 | [Minimum Length of String After Deleting Similar Ends](/problems/minimum-length-of-string-after-deleting-similar-ends) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_length_of_string_after_deleting_similar_ends/solution.py) |
  | 1758 | [Minimum Changes To Make Alternating Binary String](/problems/minimum-changes-to-make-alternating-binary-string) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_changes_to_make_alternating_binary_string/solution.py) |
  | 1768 | [Merge Strings Alternately](/problems/merge-strings-alternately) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/merge_strings_alternately/solution.py) |
  | 1769 | [Minimum Number of Operations to Move All Balls to Each Box](/problems/minimum-number-of-operations-to-move-all-balls-to-each-box) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_number_of_operations_to_move_all_balls_to_each_box/solution.py) |
  | 1790 | [Check if One String Swap Can Make Strings Equal](/problems/check-if-one-string-swap-can-make-strings-equal) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/check_if_one_string_swap_can_make_strings_equal/solution.py) |
  | 1813 | [Sentence Similarity III](/problems/sentence-similarity-iii) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sentence_similarity_iii/solution.py) |
  | 1849 | [Splitting a String Into Descending Consecutive Values](/problems/splitting-a-string-into-descending-consecutive-values) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/splitting_a_string_into_descending_consecutive_values/solution.py) |
  | 1857 | [Largest Color Value in a Directed Graph](/problems/largest-color-value-in-a-directed-graph) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/largest_color_value_in_a_directed_graph/solution.py) |
  | 1871 | [Jump Game VII](/problems/jump-game-vii) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/jump_game_vii/solution.py) |
  | 1888 | [Minimum Number of Flips to Make the Binary String Alternating](/problems/minimum-number-of-flips-to-make-the-binary-string-alternating) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_number_of_flips_to_make_the_binary_string_alternating/solution.py) |
  | 1897 | [Redistribute Characters to Make All Strings Equal](/problems/redistribute-characters-to-make-all-strings-equal) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/redistribute_characters_to_make_all_strings_equal/solution.py) |
  | 1898 | [Maximum Number of Removable Characters](/problems/maximum-number-of-removable-characters) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_number_of_removable_characters/solution.py) |
  | 1903 | [Largest Odd Number in String](/problems/largest-odd-number-in-string) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/largest_odd_number_in_string/solution.py) |
  | 1930 | [Unique Length-3 Palindromic Subsequences](/problems/unique-length-3-palindromic-subsequences) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/unique_length_3_palindromic_subsequences/solution.py) |
  | 1963 | [Minimum Number of Swaps to Make the String Balanced](/problems/minimum-number-of-swaps-to-make-the-string-balanced) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_number_of_swaps_to_make_the_string_balanced/solution.py) |
  | 1980 | [Find Unique Binary String](/problems/find-unique-binary-string) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_unique_binary_string/solution.py) |
  | 1985 | [Find the Kth Largest Integer in the Array](/problems/kth-largest-number-in-array) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/kth_largest_number_in_array/solution.py) |
  | 2002 | [Maximum Product of the Length of Two Palindromic Subsequences](/problems/maximum-product-of-the-length-of-two-palindromic-subsequences) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_product_of_the_length_of_two_palindromic_subsequences/solution.py) |
  | 2038 | [Remove Colored Pieces if Both Neighbors are the Same Color](/problems/remove-colored-pieces-if-both-neighbors-are-the-same-color) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/remove_colored_pieces_if_both_neighbors_are_the_same_color/solution.py) |
  | 2053 | [Kth Distinct String in an Array](/problems/kth-distinct-string-in-an-array) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/kth_distinct_string_in_an_array/solution.py) |
  | 2096 | [Step-By-Step Directions From a Binary Tree Node to Another](/problems/step-by-step-directions-from-a-binary-tree-node-to-another) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/step_by_step_directions_from_a_binary_tree_node_to_another/solution.py) |
  | 2108 | [Find First Palindromic String in the Array](/problems/find-first-palindromic-string-in-the-array) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_first_palindromic_string_in_the_array/solution.py) |
  | 2109 | [Adding Spaces to a String](/problems/adding-spaces-to-a-string) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/adding_spaces_to_a_string/solution.py) |
  | 2115 | [Find All Possible Recipes from Given Supplies](/problems/find-all-possible-recipes-from-given-supplies) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_all_possible_recipes_from_given_supplies/solution.py) |
  | 2116 | [Check if a Parentheses String Can Be Valid](/problems/check-if-a-parentheses-string-can-be-valid) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/check_if_a_parentheses_string_can_be_valid/solution.py) |
  | 2125 | [Number of Laser Beams in a Bank](/problems/number-of-laser-beams-in-a-bank) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_laser_beams_in_a_bank/solution.py) |
  | 2147 | [Number of Ways to Divide a Long Corridor](/problems/number-of-ways-to-divide-a-long-corridor) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_ways_to_divide_a_long_corridor/solution.py) |
  | 2182 | [Construct String With Repeat Limit](/problems/construct-string-with-repeat-limit) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/construct_string_with_repeat_limit/solution.py) |
  | 2185 | [Counting Words With a Given Prefix](/problems/counting-words-with-a-given-prefix) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/counting_words_with_a_given_prefix/solution.py) |
  | 2264 | [Largest 3-Same-Digit Number in String](/problems/largest-3-same-digit-number-in-string) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/largest_3_same_digit_number_in_string/solution.py) |
  | 2306 | [Naming a Company](/problems/naming-a-company) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/naming_a_company/solution.py) |
  | 2353 | [Design a Food Rating System](/problems/design-a-food-rating-system) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/design_a_food_rating_system/solution.py) |
  | 2370 | [Longest Ideal Subsequence](/problems/longest-ideal-subsequence) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_ideal_subsequence/solution.py) |
  | 2375 | [Construct Smallest Number From DI String](/problems/construct-smallest-number-from-di-string) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/construct_smallest_number_from_di_string/solution.py) |
  | 2379 | [Minimum Recolors to Get K Consecutive Black Blocks](/problems/minimum-recolors-to-get-k-consecutive-black-blocks) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_recolors_to_get_k_consecutive_black_blocks/solution.py) |
  | 2381 | [Shifting Letters II](/problems/shifting-letters-ii) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shifting_letters_ii/solution.py) |
  | 2390 | [Removing Stars From a String](/problems/removing-stars-from-a-string) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/removing_stars_from_a_string/solution.py) |
  | 2405 | [Optimal Partition of String](/problems/optimal-partition-of-string) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/optimal_partition_of_string/solution.py) |
  | 2416 | [Sum of Prefix Scores of Strings](/problems/sum-of-prefix-scores-of-strings) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sum_of_prefix_scores_of_strings/solution.py) |
  | 2418 | [Sort the People](/problems/sort-the-people) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sort_the_people/solution.py) |
  | 2483 | [Minimum Penalty for a Shop](/problems/minimum-penalty-for-a-shop) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_penalty_for_a_shop/solution.py) |
  | 2486 | [Append Characters to String to Make Subsequence](/problems/append-characters-to-string-to-make-subsequence) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/append_characters_to_string_to_make_subsequence/solution.py) |
  | 2490 | [Circular Sentence](/problems/circular-sentence) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/circular_sentence/solution.py) |
  | 2516 | [Take K of Each Character From Left and Right](/problems/take-k-of-each-character-from-left-and-right) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/take_k_of_each_character_from_left_and_right/solution.py) |
  | 2559 | [Count Vowel Strings in Ranges](/problems/count-vowel-strings-in-ranges) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/count_vowel_strings_in_ranges/solution.py) |
  | 2678 | [Number of Senior Citizens](/problems/number-of-senior-citizens) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_senior_citizens/solution.py) |
  | 2696 | [Minimum String Length After Removing Substrings](/problems/minimum-string-length-after-removing-substrings) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_string_length_after_removing_substrings/solution.py) |
  | 2707 | [Extra Characters in a String](/problems/extra-characters-in-a-string) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/extra_characters_in_a_string/solution.py) |
  | 2864 | [Maximum Odd Binary Number](/problems/maximum-odd-binary-number) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_odd_binary_number/solution.py) |
  | 2914 | [Minimum Number of Changes to Make Binary String Beautiful](/problems/minimum-number-of-changes-to-make-binary-string-beautiful) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_number_of_changes_to_make_binary_string_beautiful/solution.py) |
  | 2938 | [Separate Black and White Balls](/problems/separate-black-and-white-balls) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/separate_black_and_white_balls/solution.py) |
  | 2976 | [Minimum Cost to Convert String I](/problems/minimum-cost-to-convert-string-i) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_cost_to_convert_string_i/solution.py) |
  | 3016 | [Minimum Number of Pushes to Type Word II](/problems/minimum-number-of-pushes-to-type-word-ii) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_number_of_pushes_to_type_word_ii/solution.py) |
  | 3042 | [Count Prefix and Suffix Pairs I](/problems/count-prefix-and-suffix-pairs-i) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/count_prefix_and_suffix_pairs_i/solution.py) |
  | 3043 | [Find the Length of the Longest Common Prefix](/problems/find-the-length-of-the-longest-common-prefix) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_the_length_of_the_longest_common_prefix/solution.py) |
  | 3045 | [Count Prefix and Suffix Pairs II](/problems/count-prefix-and-suffix-pairs-ii) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/count_prefix_and_suffix_pairs_ii/solution.py) |
  | 3110 | [Score of a String](/problems/score-of-a-string) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/score_of_a_string/solution.py) |
  | 3174 | [Clear Digits](/problems/clear-digits) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/clear_digits/solution.py) |
  | 3223 | [Minimum Length of String After Operations](/problems/minimum-length-of-string-after-operations) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_length_of_string_after_operations/solution.py) |
  | 3306 | [Count of Substrings Containing Every Vowel and K Consonants II](/problems/count-of-substrings-containing-every-vowel-and-k-consonants-ii) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/count_of_substrings_containing_every_vowel_and_k_consonants_ii/solution.py) |
  | 3442 | [Maximum Difference Between Even and Odd Frequency I](/problems/maximum-difference-between-even-and-odd-frequency-i) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_difference_between_even_and_odd_frequency_i/solution.py) |
  | 3481 | [Apply Substitutions](/problems/apply-substitutions) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/apply_substitutions/solution.py) |
</div>

Pages: [1](/catalog/topics/string), 2


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.