Posts

The power of pruning in backtracking III

Image
Interesting problem, you run into TLE if you wait to check the conditions after each permutation is generated. Instead, check as the permutation is being built. Code is down below, cheers, ACC. 2992. Number of Self-Divisible Permutations Medium 3 0 Add to List Share Given an integer  n , return  the number of  permutations  of the  1-indexed  array   nums = [1, 2, ..., n] , such that it's  self-divisible . Array  nums  is  self-divisible  if for every  1 <= i <= n ,  at least  one of the following conditions holds: nums[i] % i == 0 i % nums[i] == 0 A  permutation  of an array is a rearrangement of the elements of that array, for example here are all of the permutations of the array  [1, 2, 3] : [1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]   Example 1: Input: n = 1 Output: 1 Explanation: The array [1] has only 1 permutation which is self-divisible. Example 2: Input:...

Last one of 2023, with a HashTable

Image
For the last one in 2023, a medium-level but actually simple with a brute-force in N^2 (N=50) and use of a HashTable to keep track of the count per special string. Code is down below, Happy New Year! ACC Find Longest Special Substring That Occurs Thrice I - LeetCode 2981. Find Longest Special Substring That Occurs Thrice I Medium 50 2 Add to List Share You are given a string  s  that consists of lowercase English letters. A string is called  special  if it is made up of only a single character. For example, the string  "abc"  is not special, whereas the strings  "ddd" ,  "zz" , and  "f"  are special. Return  the length of the  longest special substring  of  s   which occurs  at least thrice ,  or  -1  if no special substring occurs at least thrice . A  substring  is a contiguous  non-empty  sequence of characters within a string.   Example 1: Input: s = "aaaa" Ou...