> ## 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>`.

| # | Problem | Difficulty | Solution |
| - | - | - | - |
| 770 | [Basic Calculator IV](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/problems/rotate-string) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/rotate_string/solution.py) |
| 800 | [Similar RGB Color](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/problems/expressive-words) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/expressive_words/solution.py) |
| 811 | [Subdomain Visit Count](https://leetcode-py.wisl.dev/problems/subdomain-visit-count) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/subdomain_visit_count/solution.py) |
| 816 | [Ambiguous Coordinates](https://leetcode-py.wisl.dev/problems/ambiguous-coordinates) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/ambiguous_coordinates/solution.py) |
| 819 | [Most Common Word](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/problems/push-dominoes) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/push_dominoes/solution.py) |
| 839 | [Similar String Groups](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/problems/backspace-string-compare) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/backspace_string_compare/solution.py) |
| 848 | [Shifting Letters](https://leetcode-py.wisl.dev/problems/shifting-letters) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shifting_letters/solution.py) |
| 854 | [K-Similar Strings](https://leetcode-py.wisl.dev/problems/k-similarity) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/k_similarity/solution.py) |
| 856 | [Score of Parentheses](https://leetcode-py.wisl.dev/problems/score-of-parentheses) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/score_of_parentheses/solution.py) |
| 859 | [Buddy Strings](https://leetcode-py.wisl.dev/problems/buddy-strings) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/buddy_strings/solution.py) |
| 880 | [Decoded String at Index](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/problems/super-palindromes) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/super_palindromes/solution.py) |
| 916 | [Word Subsets](https://leetcode-py.wisl.dev/problems/word-subsets) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/word_subsets/solution.py) |
| 917 | [Reverse Only Letters](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/problems/vowel-spellchecker) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/vowel_spellchecker/solution.py) |
| 972 | [Equal Rational Numbers](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/problems/letter-tile-possibilities) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/letter_tile_possibilities/solution.py) |
| 1087 | [Brace Expansion](https://leetcode-py.wisl.dev/problems/brace-expansion) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/brace_expansion/solution.py) |
| 1092 | [Shortest Common Supersequence](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/problems/synonymous-sentences) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/synonymous_sentences/solution.py) |
| 1268 | [Search Suggestions System](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/problems/perform-string-shifts) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/perform_string_shifts/solution.py) |
| 1436 | [Destination City](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/problems/path-crossing) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/path_crossing/solution.py) |
| 1531 | [String Compression II](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/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](https://leetcode-py.wisl.dev/problems/apply-substitutions) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/apply_substitutions/solution.py) |

Pages: [1](https://leetcode-py.wisl.dev/catalog/topics/string), 2


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