From 9b25f3c014a4cf60dbe56f48394c25703be54314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1ty=C3=A1s=20Kiglics?= Date: Thu, 29 Oct 2020 11:33:23 +0100 Subject: [PATCH 01/31] Word search II solution --- LeetCode/0212_Word_search_II.py | 58 +++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 LeetCode/0212_Word_search_II.py diff --git a/LeetCode/0212_Word_search_II.py b/LeetCode/0212_Word_search_II.py new file mode 100644 index 0000000..b68f79d --- /dev/null +++ b/LeetCode/0212_Word_search_II.py @@ -0,0 +1,58 @@ +class Solution: + def neighbours(self, i): + n = [] + if i >= self.cols: + n.append(i-self.cols) + if i + self.cols < self.rows * self.cols: + n.append(i+self.cols) + if i % self.cols > 0: + n.append(i-1) + if i % self.cols < self.cols - 1: + n.append(i+1) + return n + + def search(self, s): + if len(self.words) == 0: + return False + l = 0 + r = len(self.words) - 1 + while l <= r-1: + c = (l+r)//2 + if self.words[c] < s: + l = c+1 + else: + r = c + if len(self.words[l]) < len(s): + return False + return self.words[l][:len(s)] == s + + def DFS(self, v, s): + if not self.search(s): + return + if s in self.words and s not in self.found: + self.found.append(s) + ne = self.neighbours(v) + for n in ne: + if self.used[n]: + continue + self.used[n] = True + self.DFS(n, s + self.board[n]) + self.used[n] = False + + + def findWords(self, board, words): + self.found = [] + self.words = sorted(words) + self.rows = len(board) + self.cols = len(board[0]) + self.board = [board[i][j] for i in range(len(board)) for j in range(len(board[0]))] + self.used = [False] * self.cols * self.rows + for i in range(len(self.board)): + self.used[i] = True + self.DFS(i, self.board[i]) + self.used[i] = False + return self.found + +# print(Solution().findWords([["a","a","a","a"],["a","a","a","a"],["a","a","a","a"],["a","a","a","a"],["b","c","d","e"],["f","g","h","i"],["j","k","l","m"],["n","o","p","q"],["r","s","t","u"],["v","w","x","y"],["z","z","z","z"]],["aaaaaaaaaaaaaaaa","aaaaaaaaaaaaaaab","aaaaaaaaaaaaaaac","aaaaaaaaaaaaaaad","aaaaaaaaaaaaaaae","aaaaaaaaaaaaaaaf","aaaaaaaaaaaaaaag","aaaaaaaaaaaaaaah","aaaaaaaaaaaaaaai","aaaaaaaaaaaaaaaj","aaaaaaaaaaaaaaak","aaaaaaaaaaaaaaal","aaaaaaaaaaaaaaam","aaaaaaaaaaaaaaan","aaaaaaaaaaaaaaao","aaaaaaaaaaaaaaap","aaaaaaaaaaaaaaaq","aaaaaaaaaaaaaaar","aaaaaaaaaaaaaaas","aaaaaaaaaaaaaaat","aaaaaaaaaaaaaaau","aaaaaaaaaaaaaaav","aaaaaaaaaaaaaaaw","aaaaaaaaaaaaaaax","aaaaaaaaaaaaaaay","aaaaaaaaaaaaaaaz","aaaaaaaaaaaaaaba","aaaaaaaaaaaaaabb","aaaaaaaaaaaaaabc","aaaaaaaaaaaaaabd","aaaaaaaaaaaaaabe","aaaaaaaaaaaaaabf","aaaaaaaaaaaaaabg","aaaaaaaaaaaaaabh","aaaaaaaaaaaaaabi","aaaaaaaaaaaaaabj","aaaaaaaaaaaaaabk","aaaaaaaaaaaaaabl","aaaaaaaaaaaaaabm","aaaaaaaaaaaaaabn","aaaaaaaaaaaaaabo","aaaaaaaaaaaaaabp","aaaaaaaaaaaaaabq","aaaaaaaaaaaaaabr","aaaaaaaaaaaaaabs","aaaaaaaaaaaaaabt","aaaaaaaaaaaaaabu","aaaaaaaaaaaaaabv","aaaaaaaaaaaaaabw","aaaaaaaaaaaaaabx","aaaaaaaaaaaaaaby","aaaaaaaaaaaaaabz","aaaaaaaaaaaaaaca","aaaaaaaaaaaaaacb","aaaaaaaaaaaaaacc","aaaaaaaaaaaaaacd","aaaaaaaaaaaaaace","aaaaaaaaaaaaaacf","aaaaaaaaaaaaaacg","aaaaaaaaaaaaaach","aaaaaaaaaaaaaaci","aaaaaaaaaaaaaacj","aaaaaaaaaaaaaack","aaaaaaaaaaaaaacl","aaaaaaaaaaaaaacm","aaaaaaaaaaaaaacn","aaaaaaaaaaaaaaco","aaaaaaaaaaaaaacp","aaaaaaaaaaaaaacq","aaaaaaaaaaaaaacr","aaaaaaaaaaaaaacs","aaaaaaaaaaaaaact","aaaaaaaaaaaaaacu","aaaaaaaaaaaaaacv","aaaaaaaaaaaaaacw","aaaaaaaaaaaaaacx","aaaaaaaaaaaaaacy","aaaaaaaaaaaaaacz","aaaaaaaaaaaaaada","aaaaaaaaaaaaaadb","aaaaaaaaaaaaaadc","aaaaaaaaaaaaaadd","aaaaaaaaaaaaaade","aaaaaaaaaaaaaadf","aaaaaaaaaaaaaadg","aaaaaaaaaaaaaadh","aaaaaaaaaaaaaadi","aaaaaaaaaaaaaadj","aaaaaaaaaaaaaadk","aaaaaaaaaaaaaadl","aaaaaaaaaaaaaadm","aaaaaaaaaaaaaadn","aaaaaaaaaaaaaado","aaaaaaaaaaaaaadp","aaaaaaaaaaaaaadq","aaaaaaaaaaaaaadr","aaaaaaaaaaaaaads","aaaaaaaaaaaaaadt","aaaaaaaaaaaaaadu","aaaaaaaaaaaaaadv","aaaaaaaaaaaaaadw","aaaaaaaaaaaaaadx","aaaaaaaaaaaaaady","aaaaaaaaaaaaaadz","aaaaaaaaaaaaaaea","aaaaaaaaaaaaaaeb","aaaaaaaaaaaaaaec","aaaaaaaaaaaaaaed","aaaaaaaaaaaaaaee","aaaaaaaaaaaaaaef","aaaaaaaaaaaaaaeg","aaaaaaaaaaaaaaeh","aaaaaaaaaaaaaaei","aaaaaaaaaaaaaaej","aaaaaaaaaaaaaaek","aaaaaaaaaaaaaael","aaaaaaaaaaaaaaem","aaaaaaaaaaaaaaen","aaaaaaaaaaaaaaeo","aaaaaaaaaaaaaaep","aaaaaaaaaaaaaaeq","aaaaaaaaaaaaaaer","aaaaaaaaaaaaaaes","aaaaaaaaaaaaaaet","aaaaaaaaaaaaaaeu","aaaaaaaaaaaaaaev","aaaaaaaaaaaaaaew","aaaaaaaaaaaaaaex","aaaaaaaaaaaaaaey","aaaaaaaaaaaaaaez","aaaaaaaaaaaaaafa","aaaaaaaaaaaaaafb","aaaaaaaaaaaaaafc","aaaaaaaaaaaaaafd","aaaaaaaaaaaaaafe","aaaaaaaaaaaaaaff","aaaaaaaaaaaaaafg","aaaaaaaaaaaaaafh","aaaaaaaaaaaaaafi","aaaaaaaaaaaaaafj","aaaaaaaaaaaaaafk","aaaaaaaaaaaaaafl","aaaaaaaaaaaaaafm","aaaaaaaaaaaaaafn","aaaaaaaaaaaaaafo","aaaaaaaaaaaaaafp","aaaaaaaaaaaaaafq","aaaaaaaaaaaaaafr","aaaaaaaaaaaaaafs","aaaaaaaaaaaaaaft","aaaaaaaaaaaaaafu","aaaaaaaaaaaaaafv","aaaaaaaaaaaaaafw","aaaaaaaaaaaaaafx","aaaaaaaaaaaaaafy","aaaaaaaaaaaaaafz","aaaaaaaaaaaaaaga","aaaaaaaaaaaaaagb","aaaaaaaaaaaaaagc","aaaaaaaaaaaaaagd","aaaaaaaaaaaaaage","aaaaaaaaaaaaaagf","aaaaaaaaaaaaaagg","aaaaaaaaaaaaaagh","aaaaaaaaaaaaaagi","aaaaaaaaaaaaaagj","aaaaaaaaaaaaaagk","aaaaaaaaaaaaaagl","aaaaaaaaaaaaaagm","aaaaaaaaaaaaaagn","aaaaaaaaaaaaaago","aaaaaaaaaaaaaagp","aaaaaaaaaaaaaagq","aaaaaaaaaaaaaagr","aaaaaaaaaaaaaags","aaaaaaaaaaaaaagt","aaaaaaaaaaaaaagu","aaaaaaaaaaaaaagv","aaaaaaaaaaaaaagw","aaaaaaaaaaaaaagx","aaaaaaaaaaaaaagy","aaaaaaaaaaaaaagz","aaaaaaaaaaaaaaha","aaaaaaaaaaaaaahb","aaaaaaaaaaaaaahc","aaaaaaaaaaaaaahd","aaaaaaaaaaaaaahe","aaaaaaaaaaaaaahf","aaaaaaaaaaaaaahg","aaaaaaaaaaaaaahh","aaaaaaaaaaaaaahi","aaaaaaaaaaaaaahj","aaaaaaaaaaaaaahk","aaaaaaaaaaaaaahl","aaaaaaaaaaaaaahm","aaaaaaaaaaaaaahn","aaaaaaaaaaaaaaho","aaaaaaaaaaaaaahp","aaaaaaaaaaaaaahq","aaaaaaaaaaaaaahr","aaaaaaaaaaaaaahs","aaaaaaaaaaaaaaht","aaaaaaaaaaaaaahu","aaaaaaaaaaaaaahv","aaaaaaaaaaaaaahw","aaaaaaaaaaaaaahx","aaaaaaaaaaaaaahy","aaaaaaaaaaaaaahz","aaaaaaaaaaaaaaia","aaaaaaaaaaaaaaib","aaaaaaaaaaaaaaic","aaaaaaaaaaaaaaid","aaaaaaaaaaaaaaie","aaaaaaaaaaaaaaif","aaaaaaaaaaaaaaig","aaaaaaaaaaaaaaih","aaaaaaaaaaaaaaii","aaaaaaaaaaaaaaij","aaaaaaaaaaaaaaik","aaaaaaaaaaaaaail","aaaaaaaaaaaaaaim","aaaaaaaaaaaaaain","aaaaaaaaaaaaaaio","aaaaaaaaaaaaaaip","aaaaaaaaaaaaaaiq","aaaaaaaaaaaaaair","aaaaaaaaaaaaaais","aaaaaaaaaaaaaait","aaaaaaaaaaaaaaiu","aaaaaaaaaaaaaaiv","aaaaaaaaaaaaaaiw","aaaaaaaaaaaaaaix","aaaaaaaaaaaaaaiy","aaaaaaaaaaaaaaiz","aaaaaaaaaaaaaaja","aaaaaaaaaaaaaajb","aaaaaaaaaaaaaajc","aaaaaaaaaaaaaajd","aaaaaaaaaaaaaaje","aaaaaaaaaaaaaajf","aaaaaaaaaaaaaajg","aaaaaaaaaaaaaajh","aaaaaaaaaaaaaaji","aaaaaaaaaaaaaajj","aaaaaaaaaaaaaajk","aaaaaaaaaaaaaajl","aaaaaaaaaaaaaajm","aaaaaaaaaaaaaajn","aaaaaaaaaaaaaajo","aaaaaaaaaaaaaajp","aaaaaaaaaaaaaajq","aaaaaaaaaaaaaajr","aaaaaaaaaaaaaajs","aaaaaaaaaaaaaajt","aaaaaaaaaaaaaaju","aaaaaaaaaaaaaajv","aaaaaaaaaaaaaajw","aaaaaaaaaaaaaajx","aaaaaaaaaaaaaajy","aaaaaaaaaaaaaajz","aaaaaaaaaaaaaaka","aaaaaaaaaaaaaakb","aaaaaaaaaaaaaakc","aaaaaaaaaaaaaakd","aaaaaaaaaaaaaake","aaaaaaaaaaaaaakf","aaaaaaaaaaaaaakg","aaaaaaaaaaaaaakh","aaaaaaaaaaaaaaki","aaaaaaaaaaaaaakj","aaaaaaaaaaaaaakk","aaaaaaaaaaaaaakl","aaaaaaaaaaaaaakm","aaaaaaaaaaaaaakn","aaaaaaaaaaaaaako","aaaaaaaaaaaaaakp","aaaaaaaaaaaaaakq","aaaaaaaaaaaaaakr","aaaaaaaaaaaaaaks","aaaaaaaaaaaaaakt","aaaaaaaaaaaaaaku","aaaaaaaaaaaaaakv","aaaaaaaaaaaaaakw","aaaaaaaaaaaaaakx","aaaaaaaaaaaaaaky","aaaaaaaaaaaaaakz","aaaaaaaaaaaaaala","aaaaaaaaaaaaaalb","aaaaaaaaaaaaaalc","aaaaaaaaaaaaaald","aaaaaaaaaaaaaale","aaaaaaaaaaaaaalf","aaaaaaaaaaaaaalg","aaaaaaaaaaaaaalh","aaaaaaaaaaaaaali","aaaaaaaaaaaaaalj","aaaaaaaaaaaaaalk","aaaaaaaaaaaaaall","aaaaaaaaaaaaaalm","aaaaaaaaaaaaaaln","aaaaaaaaaaaaaalo","aaaaaaaaaaaaaalp","aaaaaaaaaaaaaalq","aaaaaaaaaaaaaalr","aaaaaaaaaaaaaals","aaaaaaaaaaaaaalt","aaaaaaaaaaaaaalu","aaaaaaaaaaaaaalv","aaaaaaaaaaaaaalw","aaaaaaaaaaaaaalx","aaaaaaaaaaaaaaly","aaaaaaaaaaaaaalz","aaaaaaaaaaaaaama","aaaaaaaaaaaaaamb","aaaaaaaaaaaaaamc","aaaaaaaaaaaaaamd","aaaaaaaaaaaaaame","aaaaaaaaaaaaaamf","aaaaaaaaaaaaaamg","aaaaaaaaaaaaaamh","aaaaaaaaaaaaaami","aaaaaaaaaaaaaamj","aaaaaaaaaaaaaamk","aaaaaaaaaaaaaaml","aaaaaaaaaaaaaamm","aaaaaaaaaaaaaamn","aaaaaaaaaaaaaamo","aaaaaaaaaaaaaamp","aaaaaaaaaaaaaamq","aaaaaaaaaaaaaamr","aaaaaaaaaaaaaams","aaaaaaaaaaaaaamt","aaaaaaaaaaaaaamu","aaaaaaaaaaaaaamv","aaaaaaaaaaaaaamw","aaaaaaaaaaaaaamx","aaaaaaaaaaaaaamy","aaaaaaaaaaaaaamz","aaaaaaaaaaaaaana","aaaaaaaaaaaaaanb","aaaaaaaaaaaaaanc","aaaaaaaaaaaaaand","aaaaaaaaaaaaaane","aaaaaaaaaaaaaanf","aaaaaaaaaaaaaang","aaaaaaaaaaaaaanh","aaaaaaaaaaaaaani","aaaaaaaaaaaaaanj","aaaaaaaaaaaaaank","aaaaaaaaaaaaaanl","aaaaaaaaaaaaaanm","aaaaaaaaaaaaaann","aaaaaaaaaaaaaano","aaaaaaaaaaaaaanp","aaaaaaaaaaaaaanq","aaaaaaaaaaaaaanr","aaaaaaaaaaaaaans","aaaaaaaaaaaaaant","aaaaaaaaaaaaaanu","aaaaaaaaaaaaaanv","aaaaaaaaaaaaaanw","aaaaaaaaaaaaaanx","aaaaaaaaaaaaaany","aaaaaaaaaaaaaanz","aaaaaaaaaaaaaaoa","aaaaaaaaaaaaaaob","aaaaaaaaaaaaaaoc","aaaaaaaaaaaaaaod","aaaaaaaaaaaaaaoe","aaaaaaaaaaaaaaof","aaaaaaaaaaaaaaog","aaaaaaaaaaaaaaoh","aaaaaaaaaaaaaaoi","aaaaaaaaaaaaaaoj","aaaaaaaaaaaaaaok","aaaaaaaaaaaaaaol","aaaaaaaaaaaaaaom","aaaaaaaaaaaaaaon","aaaaaaaaaaaaaaoo","aaaaaaaaaaaaaaop","aaaaaaaaaaaaaaoq","aaaaaaaaaaaaaaor","aaaaaaaaaaaaaaos","aaaaaaaaaaaaaaot","aaaaaaaaaaaaaaou","aaaaaaaaaaaaaaov","aaaaaaaaaaaaaaow","aaaaaaaaaaaaaaox","aaaaaaaaaaaaaaoy","aaaaaaaaaaaaaaoz","aaaaaaaaaaaaaapa","aaaaaaaaaaaaaapb","aaaaaaaaaaaaaapc","aaaaaaaaaaaaaapd","aaaaaaaaaaaaaape","aaaaaaaaaaaaaapf","aaaaaaaaaaaaaapg","aaaaaaaaaaaaaaph","aaaaaaaaaaaaaapi","aaaaaaaaaaaaaapj","aaaaaaaaaaaaaapk","aaaaaaaaaaaaaapl","aaaaaaaaaaaaaapm","aaaaaaaaaaaaaapn","aaaaaaaaaaaaaapo","aaaaaaaaaaaaaapp","aaaaaaaaaaaaaapq","aaaaaaaaaaaaaapr","aaaaaaaaaaaaaaps","aaaaaaaaaaaaaapt","aaaaaaaaaaaaaapu","aaaaaaaaaaaaaapv","aaaaaaaaaaaaaapw","aaaaaaaaaaaaaapx","aaaaaaaaaaaaaapy","aaaaaaaaaaaaaapz","aaaaaaaaaaaaaaqa","aaaaaaaaaaaaaaqb","aaaaaaaaaaaaaaqc","aaaaaaaaaaaaaaqd","aaaaaaaaaaaaaaqe","aaaaaaaaaaaaaaqf","aaaaaaaaaaaaaaqg","aaaaaaaaaaaaaaqh","aaaaaaaaaaaaaaqi","aaaaaaaaaaaaaaqj","aaaaaaaaaaaaaaqk","aaaaaaaaaaaaaaql","aaaaaaaaaaaaaaqm","aaaaaaaaaaaaaaqn","aaaaaaaaaaaaaaqo","aaaaaaaaaaaaaaqp","aaaaaaaaaaaaaaqq","aaaaaaaaaaaaaaqr","aaaaaaaaaaaaaaqs","aaaaaaaaaaaaaaqt","aaaaaaaaaaaaaaqu","aaaaaaaaaaaaaaqv","aaaaaaaaaaaaaaqw","aaaaaaaaaaaaaaqx","aaaaaaaaaaaaaaqy","aaaaaaaaaaaaaaqz","aaaaaaaaaaaaaara","aaaaaaaaaaaaaarb","aaaaaaaaaaaaaarc","aaaaaaaaaaaaaard","aaaaaaaaaaaaaare","aaaaaaaaaaaaaarf","aaaaaaaaaaaaaarg","aaaaaaaaaaaaaarh","aaaaaaaaaaaaaari","aaaaaaaaaaaaaarj","aaaaaaaaaaaaaark","aaaaaaaaaaaaaarl","aaaaaaaaaaaaaarm","aaaaaaaaaaaaaarn","aaaaaaaaaaaaaaro","aaaaaaaaaaaaaarp","aaaaaaaaaaaaaarq","aaaaaaaaaaaaaarr","aaaaaaaaaaaaaars","aaaaaaaaaaaaaart","aaaaaaaaaaaaaaru","aaaaaaaaaaaaaarv","aaaaaaaaaaaaaarw","aaaaaaaaaaaaaarx","aaaaaaaaaaaaaary","aaaaaaaaaaaaaarz","aaaaaaaaaaaaaasa","aaaaaaaaaaaaaasb","aaaaaaaaaaaaaasc","aaaaaaaaaaaaaasd","aaaaaaaaaaaaaase","aaaaaaaaaaaaaasf","aaaaaaaaaaaaaasg","aaaaaaaaaaaaaash","aaaaaaaaaaaaaasi","aaaaaaaaaaaaaasj","aaaaaaaaaaaaaask","aaaaaaaaaaaaaasl","aaaaaaaaaaaaaasm","aaaaaaaaaaaaaasn","aaaaaaaaaaaaaaso","aaaaaaaaaaaaaasp","aaaaaaaaaaaaaasq","aaaaaaaaaaaaaasr","aaaaaaaaaaaaaass","aaaaaaaaaaaaaast","aaaaaaaaaaaaaasu","aaaaaaaaaaaaaasv","aaaaaaaaaaaaaasw","aaaaaaaaaaaaaasx","aaaaaaaaaaaaaasy","aaaaaaaaaaaaaasz","aaaaaaaaaaaaaata","aaaaaaaaaaaaaatb","aaaaaaaaaaaaaatc","aaaaaaaaaaaaaatd","aaaaaaaaaaaaaate","aaaaaaaaaaaaaatf","aaaaaaaaaaaaaatg","aaaaaaaaaaaaaath","aaaaaaaaaaaaaati","aaaaaaaaaaaaaatj","aaaaaaaaaaaaaatk","aaaaaaaaaaaaaatl","aaaaaaaaaaaaaatm","aaaaaaaaaaaaaatn","aaaaaaaaaaaaaato","aaaaaaaaaaaaaatp","aaaaaaaaaaaaaatq","aaaaaaaaaaaaaatr","aaaaaaaaaaaaaats","aaaaaaaaaaaaaatt","aaaaaaaaaaaaaatu","aaaaaaaaaaaaaatv","aaaaaaaaaaaaaatw","aaaaaaaaaaaaaatx","aaaaaaaaaaaaaaty","aaaaaaaaaaaaaatz","aaaaaaaaaaaaaaua","aaaaaaaaaaaaaaub","aaaaaaaaaaaaaauc","aaaaaaaaaaaaaaud","aaaaaaaaaaaaaaue","aaaaaaaaaaaaaauf","aaaaaaaaaaaaaaug","aaaaaaaaaaaaaauh","aaaaaaaaaaaaaaui","aaaaaaaaaaaaaauj","aaaaaaaaaaaaaauk","aaaaaaaaaaaaaaul","aaaaaaaaaaaaaaum","aaaaaaaaaaaaaaun","aaaaaaaaaaaaaauo","aaaaaaaaaaaaaaup","aaaaaaaaaaaaaauq","aaaaaaaaaaaaaaur","aaaaaaaaaaaaaaus","aaaaaaaaaaaaaaut","aaaaaaaaaaaaaauu","aaaaaaaaaaaaaauv","aaaaaaaaaaaaaauw","aaaaaaaaaaaaaaux","aaaaaaaaaaaaaauy","aaaaaaaaaaaaaauz","aaaaaaaaaaaaaava","aaaaaaaaaaaaaavb","aaaaaaaaaaaaaavc","aaaaaaaaaaaaaavd","aaaaaaaaaaaaaave","aaaaaaaaaaaaaavf","aaaaaaaaaaaaaavg","aaaaaaaaaaaaaavh","aaaaaaaaaaaaaavi","aaaaaaaaaaaaaavj","aaaaaaaaaaaaaavk","aaaaaaaaaaaaaavl","aaaaaaaaaaaaaavm","aaaaaaaaaaaaaavn","aaaaaaaaaaaaaavo","aaaaaaaaaaaaaavp","aaaaaaaaaaaaaavq","aaaaaaaaaaaaaavr","aaaaaaaaaaaaaavs","aaaaaaaaaaaaaavt","aaaaaaaaaaaaaavu","aaaaaaaaaaaaaavv","aaaaaaaaaaaaaavw","aaaaaaaaaaaaaavx","aaaaaaaaaaaaaavy","aaaaaaaaaaaaaavz","aaaaaaaaaaaaaawa","aaaaaaaaaaaaaawb","aaaaaaaaaaaaaawc","aaaaaaaaaaaaaawd","aaaaaaaaaaaaaawe","aaaaaaaaaaaaaawf","aaaaaaaaaaaaaawg","aaaaaaaaaaaaaawh","aaaaaaaaaaaaaawi","aaaaaaaaaaaaaawj","aaaaaaaaaaaaaawk","aaaaaaaaaaaaaawl","aaaaaaaaaaaaaawm","aaaaaaaaaaaaaawn","aaaaaaaaaaaaaawo","aaaaaaaaaaaaaawp","aaaaaaaaaaaaaawq","aaaaaaaaaaaaaawr","aaaaaaaaaaaaaaws","aaaaaaaaaaaaaawt","aaaaaaaaaaaaaawu","aaaaaaaaaaaaaawv","aaaaaaaaaaaaaaww","aaaaaaaaaaaaaawx","aaaaaaaaaaaaaawy","aaaaaaaaaaaaaawz","aaaaaaaaaaaaaaxa","aaaaaaaaaaaaaaxb","aaaaaaaaaaaaaaxc","aaaaaaaaaaaaaaxd","aaaaaaaaaaaaaaxe","aaaaaaaaaaaaaaxf","aaaaaaaaaaaaaaxg","aaaaaaaaaaaaaaxh","aaaaaaaaaaaaaaxi","aaaaaaaaaaaaaaxj","aaaaaaaaaaaaaaxk","aaaaaaaaaaaaaaxl","aaaaaaaaaaaaaaxm","aaaaaaaaaaaaaaxn","aaaaaaaaaaaaaaxo","aaaaaaaaaaaaaaxp","aaaaaaaaaaaaaaxq","aaaaaaaaaaaaaaxr","aaaaaaaaaaaaaaxs","aaaaaaaaaaaaaaxt","aaaaaaaaaaaaaaxu","aaaaaaaaaaaaaaxv","aaaaaaaaaaaaaaxw","aaaaaaaaaaaaaaxx","aaaaaaaaaaaaaaxy","aaaaaaaaaaaaaaxz","aaaaaaaaaaaaaaya","aaaaaaaaaaaaaayb","aaaaaaaaaaaaaayc","aaaaaaaaaaaaaayd","aaaaaaaaaaaaaaye","aaaaaaaaaaaaaayf","aaaaaaaaaaaaaayg","aaaaaaaaaaaaaayh","aaaaaaaaaaaaaayi","aaaaaaaaaaaaaayj","aaaaaaaaaaaaaayk","aaaaaaaaaaaaaayl","aaaaaaaaaaaaaaym","aaaaaaaaaaaaaayn","aaaaaaaaaaaaaayo","aaaaaaaaaaaaaayp","aaaaaaaaaaaaaayq","aaaaaaaaaaaaaayr","aaaaaaaaaaaaaays","aaaaaaaaaaaaaayt","aaaaaaaaaaaaaayu","aaaaaaaaaaaaaayv","aaaaaaaaaaaaaayw","aaaaaaaaaaaaaayx","aaaaaaaaaaaaaayy","aaaaaaaaaaaaaayz","aaaaaaaaaaaaaaza","aaaaaaaaaaaaaazb","aaaaaaaaaaaaaazc","aaaaaaaaaaaaaazd","aaaaaaaaaaaaaaze","aaaaaaaaaaaaaazf","aaaaaaaaaaaaaazg","aaaaaaaaaaaaaazh","aaaaaaaaaaaaaazi","aaaaaaaaaaaaaazj","aaaaaaaaaaaaaazk","aaaaaaaaaaaaaazl","aaaaaaaaaaaaaazm","aaaaaaaaaaaaaazn","aaaaaaaaaaaaaazo","aaaaaaaaaaaaaazp","aaaaaaaaaaaaaazq","aaaaaaaaaaaaaazr","aaaaaaaaaaaaaazs","aaaaaaaaaaaaaazt","aaaaaaaaaaaaaazu","aaaaaaaaaaaaaazv","aaaaaaaaaaaaaazw","aaaaaaaaaaaaaazx","aaaaaaaaaaaaaazy","aaaaaaaaaaaaaazz"])) +print(Solution().findWords([['o','a','a','n'],['e','t','a','e'],['i','h','k','r'],['i','f','l','v']],["oath","pea","eat","rain"])) +print(Solution().findWords([['a']], [])) \ No newline at end of file From 7f7c016af246fb475cbc77626cfcc84326c2d7b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1ty=C3=A1s=20Kiglics?= Date: Thu, 29 Oct 2020 11:37:07 +0100 Subject: [PATCH 02/31] Word search II delete test lines --- LeetCode/0212_Word_search_II.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/LeetCode/0212_Word_search_II.py b/LeetCode/0212_Word_search_II.py index b68f79d..3c5de35 100644 --- a/LeetCode/0212_Word_search_II.py +++ b/LeetCode/0212_Word_search_II.py @@ -53,6 +53,3 @@ def findWords(self, board, words): self.used[i] = False return self.found -# print(Solution().findWords([["a","a","a","a"],["a","a","a","a"],["a","a","a","a"],["a","a","a","a"],["b","c","d","e"],["f","g","h","i"],["j","k","l","m"],["n","o","p","q"],["r","s","t","u"],["v","w","x","y"],["z","z","z","z"]],["aaaaaaaaaaaaaaaa","aaaaaaaaaaaaaaab","aaaaaaaaaaaaaaac","aaaaaaaaaaaaaaad","aaaaaaaaaaaaaaae","aaaaaaaaaaaaaaaf","aaaaaaaaaaaaaaag","aaaaaaaaaaaaaaah","aaaaaaaaaaaaaaai","aaaaaaaaaaaaaaaj","aaaaaaaaaaaaaaak","aaaaaaaaaaaaaaal","aaaaaaaaaaaaaaam","aaaaaaaaaaaaaaan","aaaaaaaaaaaaaaao","aaaaaaaaaaaaaaap","aaaaaaaaaaaaaaaq","aaaaaaaaaaaaaaar","aaaaaaaaaaaaaaas","aaaaaaaaaaaaaaat","aaaaaaaaaaaaaaau","aaaaaaaaaaaaaaav","aaaaaaaaaaaaaaaw","aaaaaaaaaaaaaaax","aaaaaaaaaaaaaaay","aaaaaaaaaaaaaaaz","aaaaaaaaaaaaaaba","aaaaaaaaaaaaaabb","aaaaaaaaaaaaaabc","aaaaaaaaaaaaaabd","aaaaaaaaaaaaaabe","aaaaaaaaaaaaaabf","aaaaaaaaaaaaaabg","aaaaaaaaaaaaaabh","aaaaaaaaaaaaaabi","aaaaaaaaaaaaaabj","aaaaaaaaaaaaaabk","aaaaaaaaaaaaaabl","aaaaaaaaaaaaaabm","aaaaaaaaaaaaaabn","aaaaaaaaaaaaaabo","aaaaaaaaaaaaaabp","aaaaaaaaaaaaaabq","aaaaaaaaaaaaaabr","aaaaaaaaaaaaaabs","aaaaaaaaaaaaaabt","aaaaaaaaaaaaaabu","aaaaaaaaaaaaaabv","aaaaaaaaaaaaaabw","aaaaaaaaaaaaaabx","aaaaaaaaaaaaaaby","aaaaaaaaaaaaaabz","aaaaaaaaaaaaaaca","aaaaaaaaaaaaaacb","aaaaaaaaaaaaaacc","aaaaaaaaaaaaaacd","aaaaaaaaaaaaaace","aaaaaaaaaaaaaacf","aaaaaaaaaaaaaacg","aaaaaaaaaaaaaach","aaaaaaaaaaaaaaci","aaaaaaaaaaaaaacj","aaaaaaaaaaaaaack","aaaaaaaaaaaaaacl","aaaaaaaaaaaaaacm","aaaaaaaaaaaaaacn","aaaaaaaaaaaaaaco","aaaaaaaaaaaaaacp","aaaaaaaaaaaaaacq","aaaaaaaaaaaaaacr","aaaaaaaaaaaaaacs","aaaaaaaaaaaaaact","aaaaaaaaaaaaaacu","aaaaaaaaaaaaaacv","aaaaaaaaaaaaaacw","aaaaaaaaaaaaaacx","aaaaaaaaaaaaaacy","aaaaaaaaaaaaaacz","aaaaaaaaaaaaaada","aaaaaaaaaaaaaadb","aaaaaaaaaaaaaadc","aaaaaaaaaaaaaadd","aaaaaaaaaaaaaade","aaaaaaaaaaaaaadf","aaaaaaaaaaaaaadg","aaaaaaaaaaaaaadh","aaaaaaaaaaaaaadi","aaaaaaaaaaaaaadj","aaaaaaaaaaaaaadk","aaaaaaaaaaaaaadl","aaaaaaaaaaaaaadm","aaaaaaaaaaaaaadn","aaaaaaaaaaaaaado","aaaaaaaaaaaaaadp","aaaaaaaaaaaaaadq","aaaaaaaaaaaaaadr","aaaaaaaaaaaaaads","aaaaaaaaaaaaaadt","aaaaaaaaaaaaaadu","aaaaaaaaaaaaaadv","aaaaaaaaaaaaaadw","aaaaaaaaaaaaaadx","aaaaaaaaaaaaaady","aaaaaaaaaaaaaadz","aaaaaaaaaaaaaaea","aaaaaaaaaaaaaaeb","aaaaaaaaaaaaaaec","aaaaaaaaaaaaaaed","aaaaaaaaaaaaaaee","aaaaaaaaaaaaaaef","aaaaaaaaaaaaaaeg","aaaaaaaaaaaaaaeh","aaaaaaaaaaaaaaei","aaaaaaaaaaaaaaej","aaaaaaaaaaaaaaek","aaaaaaaaaaaaaael","aaaaaaaaaaaaaaem","aaaaaaaaaaaaaaen","aaaaaaaaaaaaaaeo","aaaaaaaaaaaaaaep","aaaaaaaaaaaaaaeq","aaaaaaaaaaaaaaer","aaaaaaaaaaaaaaes","aaaaaaaaaaaaaaet","aaaaaaaaaaaaaaeu","aaaaaaaaaaaaaaev","aaaaaaaaaaaaaaew","aaaaaaaaaaaaaaex","aaaaaaaaaaaaaaey","aaaaaaaaaaaaaaez","aaaaaaaaaaaaaafa","aaaaaaaaaaaaaafb","aaaaaaaaaaaaaafc","aaaaaaaaaaaaaafd","aaaaaaaaaaaaaafe","aaaaaaaaaaaaaaff","aaaaaaaaaaaaaafg","aaaaaaaaaaaaaafh","aaaaaaaaaaaaaafi","aaaaaaaaaaaaaafj","aaaaaaaaaaaaaafk","aaaaaaaaaaaaaafl","aaaaaaaaaaaaaafm","aaaaaaaaaaaaaafn","aaaaaaaaaaaaaafo","aaaaaaaaaaaaaafp","aaaaaaaaaaaaaafq","aaaaaaaaaaaaaafr","aaaaaaaaaaaaaafs","aaaaaaaaaaaaaaft","aaaaaaaaaaaaaafu","aaaaaaaaaaaaaafv","aaaaaaaaaaaaaafw","aaaaaaaaaaaaaafx","aaaaaaaaaaaaaafy","aaaaaaaaaaaaaafz","aaaaaaaaaaaaaaga","aaaaaaaaaaaaaagb","aaaaaaaaaaaaaagc","aaaaaaaaaaaaaagd","aaaaaaaaaaaaaage","aaaaaaaaaaaaaagf","aaaaaaaaaaaaaagg","aaaaaaaaaaaaaagh","aaaaaaaaaaaaaagi","aaaaaaaaaaaaaagj","aaaaaaaaaaaaaagk","aaaaaaaaaaaaaagl","aaaaaaaaaaaaaagm","aaaaaaaaaaaaaagn","aaaaaaaaaaaaaago","aaaaaaaaaaaaaagp","aaaaaaaaaaaaaagq","aaaaaaaaaaaaaagr","aaaaaaaaaaaaaags","aaaaaaaaaaaaaagt","aaaaaaaaaaaaaagu","aaaaaaaaaaaaaagv","aaaaaaaaaaaaaagw","aaaaaaaaaaaaaagx","aaaaaaaaaaaaaagy","aaaaaaaaaaaaaagz","aaaaaaaaaaaaaaha","aaaaaaaaaaaaaahb","aaaaaaaaaaaaaahc","aaaaaaaaaaaaaahd","aaaaaaaaaaaaaahe","aaaaaaaaaaaaaahf","aaaaaaaaaaaaaahg","aaaaaaaaaaaaaahh","aaaaaaaaaaaaaahi","aaaaaaaaaaaaaahj","aaaaaaaaaaaaaahk","aaaaaaaaaaaaaahl","aaaaaaaaaaaaaahm","aaaaaaaaaaaaaahn","aaaaaaaaaaaaaaho","aaaaaaaaaaaaaahp","aaaaaaaaaaaaaahq","aaaaaaaaaaaaaahr","aaaaaaaaaaaaaahs","aaaaaaaaaaaaaaht","aaaaaaaaaaaaaahu","aaaaaaaaaaaaaahv","aaaaaaaaaaaaaahw","aaaaaaaaaaaaaahx","aaaaaaaaaaaaaahy","aaaaaaaaaaaaaahz","aaaaaaaaaaaaaaia","aaaaaaaaaaaaaaib","aaaaaaaaaaaaaaic","aaaaaaaaaaaaaaid","aaaaaaaaaaaaaaie","aaaaaaaaaaaaaaif","aaaaaaaaaaaaaaig","aaaaaaaaaaaaaaih","aaaaaaaaaaaaaaii","aaaaaaaaaaaaaaij","aaaaaaaaaaaaaaik","aaaaaaaaaaaaaail","aaaaaaaaaaaaaaim","aaaaaaaaaaaaaain","aaaaaaaaaaaaaaio","aaaaaaaaaaaaaaip","aaaaaaaaaaaaaaiq","aaaaaaaaaaaaaair","aaaaaaaaaaaaaais","aaaaaaaaaaaaaait","aaaaaaaaaaaaaaiu","aaaaaaaaaaaaaaiv","aaaaaaaaaaaaaaiw","aaaaaaaaaaaaaaix","aaaaaaaaaaaaaaiy","aaaaaaaaaaaaaaiz","aaaaaaaaaaaaaaja","aaaaaaaaaaaaaajb","aaaaaaaaaaaaaajc","aaaaaaaaaaaaaajd","aaaaaaaaaaaaaaje","aaaaaaaaaaaaaajf","aaaaaaaaaaaaaajg","aaaaaaaaaaaaaajh","aaaaaaaaaaaaaaji","aaaaaaaaaaaaaajj","aaaaaaaaaaaaaajk","aaaaaaaaaaaaaajl","aaaaaaaaaaaaaajm","aaaaaaaaaaaaaajn","aaaaaaaaaaaaaajo","aaaaaaaaaaaaaajp","aaaaaaaaaaaaaajq","aaaaaaaaaaaaaajr","aaaaaaaaaaaaaajs","aaaaaaaaaaaaaajt","aaaaaaaaaaaaaaju","aaaaaaaaaaaaaajv","aaaaaaaaaaaaaajw","aaaaaaaaaaaaaajx","aaaaaaaaaaaaaajy","aaaaaaaaaaaaaajz","aaaaaaaaaaaaaaka","aaaaaaaaaaaaaakb","aaaaaaaaaaaaaakc","aaaaaaaaaaaaaakd","aaaaaaaaaaaaaake","aaaaaaaaaaaaaakf","aaaaaaaaaaaaaakg","aaaaaaaaaaaaaakh","aaaaaaaaaaaaaaki","aaaaaaaaaaaaaakj","aaaaaaaaaaaaaakk","aaaaaaaaaaaaaakl","aaaaaaaaaaaaaakm","aaaaaaaaaaaaaakn","aaaaaaaaaaaaaako","aaaaaaaaaaaaaakp","aaaaaaaaaaaaaakq","aaaaaaaaaaaaaakr","aaaaaaaaaaaaaaks","aaaaaaaaaaaaaakt","aaaaaaaaaaaaaaku","aaaaaaaaaaaaaakv","aaaaaaaaaaaaaakw","aaaaaaaaaaaaaakx","aaaaaaaaaaaaaaky","aaaaaaaaaaaaaakz","aaaaaaaaaaaaaala","aaaaaaaaaaaaaalb","aaaaaaaaaaaaaalc","aaaaaaaaaaaaaald","aaaaaaaaaaaaaale","aaaaaaaaaaaaaalf","aaaaaaaaaaaaaalg","aaaaaaaaaaaaaalh","aaaaaaaaaaaaaali","aaaaaaaaaaaaaalj","aaaaaaaaaaaaaalk","aaaaaaaaaaaaaall","aaaaaaaaaaaaaalm","aaaaaaaaaaaaaaln","aaaaaaaaaaaaaalo","aaaaaaaaaaaaaalp","aaaaaaaaaaaaaalq","aaaaaaaaaaaaaalr","aaaaaaaaaaaaaals","aaaaaaaaaaaaaalt","aaaaaaaaaaaaaalu","aaaaaaaaaaaaaalv","aaaaaaaaaaaaaalw","aaaaaaaaaaaaaalx","aaaaaaaaaaaaaaly","aaaaaaaaaaaaaalz","aaaaaaaaaaaaaama","aaaaaaaaaaaaaamb","aaaaaaaaaaaaaamc","aaaaaaaaaaaaaamd","aaaaaaaaaaaaaame","aaaaaaaaaaaaaamf","aaaaaaaaaaaaaamg","aaaaaaaaaaaaaamh","aaaaaaaaaaaaaami","aaaaaaaaaaaaaamj","aaaaaaaaaaaaaamk","aaaaaaaaaaaaaaml","aaaaaaaaaaaaaamm","aaaaaaaaaaaaaamn","aaaaaaaaaaaaaamo","aaaaaaaaaaaaaamp","aaaaaaaaaaaaaamq","aaaaaaaaaaaaaamr","aaaaaaaaaaaaaams","aaaaaaaaaaaaaamt","aaaaaaaaaaaaaamu","aaaaaaaaaaaaaamv","aaaaaaaaaaaaaamw","aaaaaaaaaaaaaamx","aaaaaaaaaaaaaamy","aaaaaaaaaaaaaamz","aaaaaaaaaaaaaana","aaaaaaaaaaaaaanb","aaaaaaaaaaaaaanc","aaaaaaaaaaaaaand","aaaaaaaaaaaaaane","aaaaaaaaaaaaaanf","aaaaaaaaaaaaaang","aaaaaaaaaaaaaanh","aaaaaaaaaaaaaani","aaaaaaaaaaaaaanj","aaaaaaaaaaaaaank","aaaaaaaaaaaaaanl","aaaaaaaaaaaaaanm","aaaaaaaaaaaaaann","aaaaaaaaaaaaaano","aaaaaaaaaaaaaanp","aaaaaaaaaaaaaanq","aaaaaaaaaaaaaanr","aaaaaaaaaaaaaans","aaaaaaaaaaaaaant","aaaaaaaaaaaaaanu","aaaaaaaaaaaaaanv","aaaaaaaaaaaaaanw","aaaaaaaaaaaaaanx","aaaaaaaaaaaaaany","aaaaaaaaaaaaaanz","aaaaaaaaaaaaaaoa","aaaaaaaaaaaaaaob","aaaaaaaaaaaaaaoc","aaaaaaaaaaaaaaod","aaaaaaaaaaaaaaoe","aaaaaaaaaaaaaaof","aaaaaaaaaaaaaaog","aaaaaaaaaaaaaaoh","aaaaaaaaaaaaaaoi","aaaaaaaaaaaaaaoj","aaaaaaaaaaaaaaok","aaaaaaaaaaaaaaol","aaaaaaaaaaaaaaom","aaaaaaaaaaaaaaon","aaaaaaaaaaaaaaoo","aaaaaaaaaaaaaaop","aaaaaaaaaaaaaaoq","aaaaaaaaaaaaaaor","aaaaaaaaaaaaaaos","aaaaaaaaaaaaaaot","aaaaaaaaaaaaaaou","aaaaaaaaaaaaaaov","aaaaaaaaaaaaaaow","aaaaaaaaaaaaaaox","aaaaaaaaaaaaaaoy","aaaaaaaaaaaaaaoz","aaaaaaaaaaaaaapa","aaaaaaaaaaaaaapb","aaaaaaaaaaaaaapc","aaaaaaaaaaaaaapd","aaaaaaaaaaaaaape","aaaaaaaaaaaaaapf","aaaaaaaaaaaaaapg","aaaaaaaaaaaaaaph","aaaaaaaaaaaaaapi","aaaaaaaaaaaaaapj","aaaaaaaaaaaaaapk","aaaaaaaaaaaaaapl","aaaaaaaaaaaaaapm","aaaaaaaaaaaaaapn","aaaaaaaaaaaaaapo","aaaaaaaaaaaaaapp","aaaaaaaaaaaaaapq","aaaaaaaaaaaaaapr","aaaaaaaaaaaaaaps","aaaaaaaaaaaaaapt","aaaaaaaaaaaaaapu","aaaaaaaaaaaaaapv","aaaaaaaaaaaaaapw","aaaaaaaaaaaaaapx","aaaaaaaaaaaaaapy","aaaaaaaaaaaaaapz","aaaaaaaaaaaaaaqa","aaaaaaaaaaaaaaqb","aaaaaaaaaaaaaaqc","aaaaaaaaaaaaaaqd","aaaaaaaaaaaaaaqe","aaaaaaaaaaaaaaqf","aaaaaaaaaaaaaaqg","aaaaaaaaaaaaaaqh","aaaaaaaaaaaaaaqi","aaaaaaaaaaaaaaqj","aaaaaaaaaaaaaaqk","aaaaaaaaaaaaaaql","aaaaaaaaaaaaaaqm","aaaaaaaaaaaaaaqn","aaaaaaaaaaaaaaqo","aaaaaaaaaaaaaaqp","aaaaaaaaaaaaaaqq","aaaaaaaaaaaaaaqr","aaaaaaaaaaaaaaqs","aaaaaaaaaaaaaaqt","aaaaaaaaaaaaaaqu","aaaaaaaaaaaaaaqv","aaaaaaaaaaaaaaqw","aaaaaaaaaaaaaaqx","aaaaaaaaaaaaaaqy","aaaaaaaaaaaaaaqz","aaaaaaaaaaaaaara","aaaaaaaaaaaaaarb","aaaaaaaaaaaaaarc","aaaaaaaaaaaaaard","aaaaaaaaaaaaaare","aaaaaaaaaaaaaarf","aaaaaaaaaaaaaarg","aaaaaaaaaaaaaarh","aaaaaaaaaaaaaari","aaaaaaaaaaaaaarj","aaaaaaaaaaaaaark","aaaaaaaaaaaaaarl","aaaaaaaaaaaaaarm","aaaaaaaaaaaaaarn","aaaaaaaaaaaaaaro","aaaaaaaaaaaaaarp","aaaaaaaaaaaaaarq","aaaaaaaaaaaaaarr","aaaaaaaaaaaaaars","aaaaaaaaaaaaaart","aaaaaaaaaaaaaaru","aaaaaaaaaaaaaarv","aaaaaaaaaaaaaarw","aaaaaaaaaaaaaarx","aaaaaaaaaaaaaary","aaaaaaaaaaaaaarz","aaaaaaaaaaaaaasa","aaaaaaaaaaaaaasb","aaaaaaaaaaaaaasc","aaaaaaaaaaaaaasd","aaaaaaaaaaaaaase","aaaaaaaaaaaaaasf","aaaaaaaaaaaaaasg","aaaaaaaaaaaaaash","aaaaaaaaaaaaaasi","aaaaaaaaaaaaaasj","aaaaaaaaaaaaaask","aaaaaaaaaaaaaasl","aaaaaaaaaaaaaasm","aaaaaaaaaaaaaasn","aaaaaaaaaaaaaaso","aaaaaaaaaaaaaasp","aaaaaaaaaaaaaasq","aaaaaaaaaaaaaasr","aaaaaaaaaaaaaass","aaaaaaaaaaaaaast","aaaaaaaaaaaaaasu","aaaaaaaaaaaaaasv","aaaaaaaaaaaaaasw","aaaaaaaaaaaaaasx","aaaaaaaaaaaaaasy","aaaaaaaaaaaaaasz","aaaaaaaaaaaaaata","aaaaaaaaaaaaaatb","aaaaaaaaaaaaaatc","aaaaaaaaaaaaaatd","aaaaaaaaaaaaaate","aaaaaaaaaaaaaatf","aaaaaaaaaaaaaatg","aaaaaaaaaaaaaath","aaaaaaaaaaaaaati","aaaaaaaaaaaaaatj","aaaaaaaaaaaaaatk","aaaaaaaaaaaaaatl","aaaaaaaaaaaaaatm","aaaaaaaaaaaaaatn","aaaaaaaaaaaaaato","aaaaaaaaaaaaaatp","aaaaaaaaaaaaaatq","aaaaaaaaaaaaaatr","aaaaaaaaaaaaaats","aaaaaaaaaaaaaatt","aaaaaaaaaaaaaatu","aaaaaaaaaaaaaatv","aaaaaaaaaaaaaatw","aaaaaaaaaaaaaatx","aaaaaaaaaaaaaaty","aaaaaaaaaaaaaatz","aaaaaaaaaaaaaaua","aaaaaaaaaaaaaaub","aaaaaaaaaaaaaauc","aaaaaaaaaaaaaaud","aaaaaaaaaaaaaaue","aaaaaaaaaaaaaauf","aaaaaaaaaaaaaaug","aaaaaaaaaaaaaauh","aaaaaaaaaaaaaaui","aaaaaaaaaaaaaauj","aaaaaaaaaaaaaauk","aaaaaaaaaaaaaaul","aaaaaaaaaaaaaaum","aaaaaaaaaaaaaaun","aaaaaaaaaaaaaauo","aaaaaaaaaaaaaaup","aaaaaaaaaaaaaauq","aaaaaaaaaaaaaaur","aaaaaaaaaaaaaaus","aaaaaaaaaaaaaaut","aaaaaaaaaaaaaauu","aaaaaaaaaaaaaauv","aaaaaaaaaaaaaauw","aaaaaaaaaaaaaaux","aaaaaaaaaaaaaauy","aaaaaaaaaaaaaauz","aaaaaaaaaaaaaava","aaaaaaaaaaaaaavb","aaaaaaaaaaaaaavc","aaaaaaaaaaaaaavd","aaaaaaaaaaaaaave","aaaaaaaaaaaaaavf","aaaaaaaaaaaaaavg","aaaaaaaaaaaaaavh","aaaaaaaaaaaaaavi","aaaaaaaaaaaaaavj","aaaaaaaaaaaaaavk","aaaaaaaaaaaaaavl","aaaaaaaaaaaaaavm","aaaaaaaaaaaaaavn","aaaaaaaaaaaaaavo","aaaaaaaaaaaaaavp","aaaaaaaaaaaaaavq","aaaaaaaaaaaaaavr","aaaaaaaaaaaaaavs","aaaaaaaaaaaaaavt","aaaaaaaaaaaaaavu","aaaaaaaaaaaaaavv","aaaaaaaaaaaaaavw","aaaaaaaaaaaaaavx","aaaaaaaaaaaaaavy","aaaaaaaaaaaaaavz","aaaaaaaaaaaaaawa","aaaaaaaaaaaaaawb","aaaaaaaaaaaaaawc","aaaaaaaaaaaaaawd","aaaaaaaaaaaaaawe","aaaaaaaaaaaaaawf","aaaaaaaaaaaaaawg","aaaaaaaaaaaaaawh","aaaaaaaaaaaaaawi","aaaaaaaaaaaaaawj","aaaaaaaaaaaaaawk","aaaaaaaaaaaaaawl","aaaaaaaaaaaaaawm","aaaaaaaaaaaaaawn","aaaaaaaaaaaaaawo","aaaaaaaaaaaaaawp","aaaaaaaaaaaaaawq","aaaaaaaaaaaaaawr","aaaaaaaaaaaaaaws","aaaaaaaaaaaaaawt","aaaaaaaaaaaaaawu","aaaaaaaaaaaaaawv","aaaaaaaaaaaaaaww","aaaaaaaaaaaaaawx","aaaaaaaaaaaaaawy","aaaaaaaaaaaaaawz","aaaaaaaaaaaaaaxa","aaaaaaaaaaaaaaxb","aaaaaaaaaaaaaaxc","aaaaaaaaaaaaaaxd","aaaaaaaaaaaaaaxe","aaaaaaaaaaaaaaxf","aaaaaaaaaaaaaaxg","aaaaaaaaaaaaaaxh","aaaaaaaaaaaaaaxi","aaaaaaaaaaaaaaxj","aaaaaaaaaaaaaaxk","aaaaaaaaaaaaaaxl","aaaaaaaaaaaaaaxm","aaaaaaaaaaaaaaxn","aaaaaaaaaaaaaaxo","aaaaaaaaaaaaaaxp","aaaaaaaaaaaaaaxq","aaaaaaaaaaaaaaxr","aaaaaaaaaaaaaaxs","aaaaaaaaaaaaaaxt","aaaaaaaaaaaaaaxu","aaaaaaaaaaaaaaxv","aaaaaaaaaaaaaaxw","aaaaaaaaaaaaaaxx","aaaaaaaaaaaaaaxy","aaaaaaaaaaaaaaxz","aaaaaaaaaaaaaaya","aaaaaaaaaaaaaayb","aaaaaaaaaaaaaayc","aaaaaaaaaaaaaayd","aaaaaaaaaaaaaaye","aaaaaaaaaaaaaayf","aaaaaaaaaaaaaayg","aaaaaaaaaaaaaayh","aaaaaaaaaaaaaayi","aaaaaaaaaaaaaayj","aaaaaaaaaaaaaayk","aaaaaaaaaaaaaayl","aaaaaaaaaaaaaaym","aaaaaaaaaaaaaayn","aaaaaaaaaaaaaayo","aaaaaaaaaaaaaayp","aaaaaaaaaaaaaayq","aaaaaaaaaaaaaayr","aaaaaaaaaaaaaays","aaaaaaaaaaaaaayt","aaaaaaaaaaaaaayu","aaaaaaaaaaaaaayv","aaaaaaaaaaaaaayw","aaaaaaaaaaaaaayx","aaaaaaaaaaaaaayy","aaaaaaaaaaaaaayz","aaaaaaaaaaaaaaza","aaaaaaaaaaaaaazb","aaaaaaaaaaaaaazc","aaaaaaaaaaaaaazd","aaaaaaaaaaaaaaze","aaaaaaaaaaaaaazf","aaaaaaaaaaaaaazg","aaaaaaaaaaaaaazh","aaaaaaaaaaaaaazi","aaaaaaaaaaaaaazj","aaaaaaaaaaaaaazk","aaaaaaaaaaaaaazl","aaaaaaaaaaaaaazm","aaaaaaaaaaaaaazn","aaaaaaaaaaaaaazo","aaaaaaaaaaaaaazp","aaaaaaaaaaaaaazq","aaaaaaaaaaaaaazr","aaaaaaaaaaaaaazs","aaaaaaaaaaaaaazt","aaaaaaaaaaaaaazu","aaaaaaaaaaaaaazv","aaaaaaaaaaaaaazw","aaaaaaaaaaaaaazx","aaaaaaaaaaaaaazy","aaaaaaaaaaaaaazz"])) -print(Solution().findWords([['o','a','a','n'],['e','t','a','e'],['i','h','k','r'],['i','f','l','v']],["oath","pea","eat","rain"])) -print(Solution().findWords([['a']], [])) \ No newline at end of file From 6178648ead3a4fca55b177bb41ac4a1180c002fb Mon Sep 17 00:00:00 2001 From: Nurettin <46221949+na-vural@users.noreply.github.com> Date: Thu, 29 Oct 2020 14:32:23 +0300 Subject: [PATCH 03/31] Create 0891_Sum_of_Subsequence_Widths.py --- LeetCode/0891_Sum_of_Subsequence_Widths.py | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 LeetCode/0891_Sum_of_Subsequence_Widths.py diff --git a/LeetCode/0891_Sum_of_Subsequence_Widths.py b/LeetCode/0891_Sum_of_Subsequence_Widths.py new file mode 100644 index 0000000..f355b2e --- /dev/null +++ b/LeetCode/0891_Sum_of_Subsequence_Widths.py @@ -0,0 +1,10 @@ +class Solution(object): + def sumSubseqWidths(self, A: List[int]) -> int: + ret_int = 0 + A_len = len(A) + A.sort(key=lambda x: int(x), reverse=True) + + for x in range(A_len): + ret_int += A[x] * (2**(A_len - x - 1) - 2**(x)) + + return ret_int % (10**9 + 7) From c58635ac8ce5461bd94c10ea8a7aa5f1220b215c Mon Sep 17 00:00:00 2001 From: Nurettin <46221949+na-vural@users.noreply.github.com> Date: Thu, 29 Oct 2020 14:36:30 +0300 Subject: [PATCH 04/31] Create 0273_Integer_to_English_Words.py --- LeetCode/0273_Integer_to_English_Words.py | 68 +++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 LeetCode/0273_Integer_to_English_Words.py diff --git a/LeetCode/0273_Integer_to_English_Words.py b/LeetCode/0273_Integer_to_English_Words.py new file mode 100644 index 0000000..12a4a71 --- /dev/null +++ b/LeetCode/0273_Integer_to_English_Words.py @@ -0,0 +1,68 @@ +class Solution(object): + def numberToWords(self, num: int) -> str: + def decode(triple_str): + final_list = [] + + numbers = { "1": "One", + "2": "Two", + "3": "Three", + "4": "Four", + "5": "Five", + "6": "Six", + "7": "Seven", + "8": "Eight", + "9": "Nine", + "10": "Ten", + "11": "Eleven", + "12": "Twelve", + "13": "Thirteen", + "14": "Fourteen", + "15": "Fifteen", + "16": "Sixteen", + "17": "Seventeen", + "18": "Eighteen", + "19": "Nineteen"} + + tens = { "2": "Twenty", + "3": "Thirty", + "4": "Forty", + "5": "Fifty", + "6": "Sixty", + "7": "Seventy", + "8": "Eighty", + "9": "Ninety"} + + if int(triple_str[0]) != 0: + final_list.append("{} Hundred".format(numbers[triple_str[0]])) + if int(triple_str[1]) == 1: + final_list.append("{}".format(numbers[triple_str[1:3]])) + else: + if int(triple_str[1]) != 0: + final_list.append("{}".format(tens[triple_str[1]])) + if int(triple_str[2]) != 0: + final_list.append("{}".format(numbers[triple_str[2]])) + + return final_list + + + num_str = "{:0>12}".format(str(num)) + num_list = [] + final_num = "" + digit_dict = { 0: "Billion", + 3: "Million", + 6: "Thousand"} + + for x in range(0, 12, 3): + the_triple = num_str[x:x+3] + if the_triple == "000": + continue + else: + num_list.extend(decode(the_triple)) + if x == 9: break + num_list.append(digit_dict[x]) + + final_num = " ".join(num_list) + if final_num == "": + final_num = "Zero" + + return final_num From ecc1f01430461ccfbcef5766cd820ed005458b6b Mon Sep 17 00:00:00 2001 From: suman151 Date: Thu, 29 Oct 2020 17:10:30 +0530 Subject: [PATCH 05/31] Added path with maximum gold solution --- LeetCode/1219_path_with_maximum_gold.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 LeetCode/1219_path_with_maximum_gold.py diff --git a/LeetCode/1219_path_with_maximum_gold.py b/LeetCode/1219_path_with_maximum_gold.py new file mode 100644 index 0000000..7b76fff --- /dev/null +++ b/LeetCode/1219_path_with_maximum_gold.py @@ -0,0 +1,24 @@ +class Solution: + def getMaximumGold(self, grid: List[List[int]]) -> int: + def bfs(i,j): + stack = [(grid[i][j],i,j,set([(i,j)]))] + while stack: + temp = [] + for cur,i,j,p in stack: + if cur > self.res: + self.res = cur + self.best_res = p + for x, y in [[i+1,j], [i-1,j], [i,j+1], [i,j-1]]: + if 0<=x Date: Thu, 29 Oct 2020 17:10:41 +0530 Subject: [PATCH 06/31] Added solution for Problem 0401 Binary Watch --- .vscode/settings.json | 3 ++ LeetCode/0401_Binary_Watch.py | 69 +++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 .vscode/settings.json create mode 100644 LeetCode/0401_Binary_Watch.py diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..25c729f --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python.pythonPath": "/bin/python3" +} \ No newline at end of file diff --git a/LeetCode/0401_Binary_Watch.py b/LeetCode/0401_Binary_Watch.py new file mode 100644 index 0000000..2b9f099 --- /dev/null +++ b/LeetCode/0401_Binary_Watch.py @@ -0,0 +1,69 @@ +class Solution(object): + def combination(self, n, k, inp, res): + # inp is expected to be a list of size n + #print n,k,inp,res + if k == 0: + res.append([i for i in inp]) + return + if k > n: + return + #for i in range(1,n+1): + inp[n-1] = 1 + self.combination(n-1,k-1, inp, res) + inp[n-1] = 0 + self.combination(n-1, k, inp, res) + + + def getHours(self, h): + if h == 0: + return ["0"] + if h == 1: + return ["1", "2", "4", "8"] + if h == 2: + return ["3", "5", "6", "9", "10"] + if h == 3: + return ["7", "11"] + + def getMinutes(self, m): + inp = [0,0,0,0,0,0] + res = [] + self.combination(6, m, inp, res) + mins = [1, 2, 4, 8, 16, 32] + minutes = [] + for comb in res: + i = 0 + mn = 0 + while i < 6: + if comb[i] == 1: + mn += mins[i] + i += 1 + if mn > 59: + continue + if mn < 10: + minutes.append("0" + str(mn)) + else: + minutes.append(str(mn)) + return minutes + + def readBinaryWatch(self, num): + """ + :type num: int + :rtype: List[str] + """ + i = 0 + res = [] + + while i <= num: + h = i + m = num - i + if h < 4 and m < 6: + lh = self.getHours(h) + #print lh + lm = self.getMinutes(m) + #print lm + for hr in lh: + for mn in lm: + res.append(hr + ":" + mn) + i += 1 + + return res From 5639c2a7681ad04076efc5013d539a2390c498e1 Mon Sep 17 00:00:00 2001 From: flick-23 Date: Thu, 29 Oct 2020 17:13:59 +0530 Subject: [PATCH 07/31] Added solution for Problem 0401 Binary Watch --- LeetCode/{0401_Binary_Watch.py => 0401_Binary_Watch_.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode/{0401_Binary_Watch.py => 0401_Binary_Watch_.py} (100%) diff --git a/LeetCode/0401_Binary_Watch.py b/LeetCode/0401_Binary_Watch_.py similarity index 100% rename from LeetCode/0401_Binary_Watch.py rename to LeetCode/0401_Binary_Watch_.py From 7f99033a3130b9b337c675af5cd9b1862051b709 Mon Sep 17 00:00:00 2001 From: suman151 Date: Thu, 29 Oct 2020 17:25:06 +0530 Subject: [PATCH 08/31] Added path with maximum gold solution --- LeetCode/1219_path_with_maximum_gold.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/LeetCode/1219_path_with_maximum_gold.py b/LeetCode/1219_path_with_maximum_gold.py index 7b76fff..d8d1e5d 100644 --- a/LeetCode/1219_path_with_maximum_gold.py +++ b/LeetCode/1219_path_with_maximum_gold.py @@ -1,24 +1,22 @@ class Solution: - def getMaximumGold(self, grid: List[List[int]]) -> int: - def bfs(i,j): - stack = [(grid[i][j],i,j,set([(i,j)]))] + def getMaximumGold(self, grid): + def bfs(i, j): + stack = [(grid[i][j], i, j, set([(i, j)]))] while stack: temp = [] - for cur,i,j,p in stack: + for cur, i, j, p in stack: if cur > self.res: self.res = cur self.best_res = p - for x, y in [[i+1,j], [i-1,j], [i,j+1], [i,j-1]]: - if 0<=x Date: Thu, 29 Oct 2020 17:31:47 +0530 Subject: [PATCH 09/31] Added solution for Problem 0209 Minimum Subarray Sum --- LeetCode/0209_ Minimum_Size_Subarray_Sum_.py | 55 ++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 LeetCode/0209_ Minimum_Size_Subarray_Sum_.py diff --git a/LeetCode/0209_ Minimum_Size_Subarray_Sum_.py b/LeetCode/0209_ Minimum_Size_Subarray_Sum_.py new file mode 100644 index 0000000..bd17997 --- /dev/null +++ b/LeetCode/0209_ Minimum_Size_Subarray_Sum_.py @@ -0,0 +1,55 @@ +class Solution: + def minSubArrayLen(self, s, nums): + """ + :type s: int + :type nums: List[int] + :rtype: int + """ + + # approach: + # 1. build a prefix list and iterate it + # 2. at each iteration, use binary search to find prefix+s + # 3. after search done, get length between left and i + + n = len(nums) + result = n + 1 + + if n == 0: + return 0 + + # build prefix sums array + prefix = [0 for i in range(n+1)] + for i in range(1, n+1): + prefix[i] = prefix[i-1] + nums[i-1] + + # for each iteration i, we try to use binary search to find + # prefix[i] + s, which means the sum of subarray between i + # and left will be more than s + for i in range(n): + left = i + 1 + right = n + target = prefix[i] + s + + while left <= right: + m = left + (right - left) // 2 + + if prefix[m] < target: + left = m + 1 + + # in both greater and equal cases, we have to update + # right index for finding the leftist sum which is + # larger than target + else: + right = m - 1 + + # end for-loop immediately if left is greater than n because + # it means every sum will be less than targer in following iteration + if left > n: + break + + # if left is valid, left will be the leftist element that is + # larger than target, so length between left and i is what we need + if left - i < result: + result = left - i + + return 0 if result > n else result \ No newline at end of file From 1f6384d1902d6d01d3b7ee6cdd6a531b7d248d4b Mon Sep 17 00:00:00 2001 From: flick-23 Date: Thu, 29 Oct 2020 17:38:32 +0530 Subject: [PATCH 10/31] Added solution for Problem 0209 Minimum Subarray Sum --- LeetCode/0209_ Minimum_Size_Subarray_Sum_.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LeetCode/0209_ Minimum_Size_Subarray_Sum_.py b/LeetCode/0209_ Minimum_Size_Subarray_Sum_.py index bd17997..0917675 100644 --- a/LeetCode/0209_ Minimum_Size_Subarray_Sum_.py +++ b/LeetCode/0209_ Minimum_Size_Subarray_Sum_.py @@ -10,7 +10,7 @@ def minSubArrayLen(self, s, nums): # 1. build a prefix list and iterate it # 2. at each iteration, use binary search to find prefix+s # 3. after search done, get length between left and i - + n = len(nums) result = n + 1 From cc5d6cf192f97ed6b21bbb3b571f61c8b8a970cf Mon Sep 17 00:00:00 2001 From: Venkatesh Dhongadi <51364640+flick-23@users.noreply.github.com> Date: Thu, 29 Oct 2020 18:00:59 +0530 Subject: [PATCH 11/31] Delete 0209_ Minimum_Size_Subarray_Sum_.py --- LeetCode/0209_ Minimum_Size_Subarray_Sum_.py | 55 -------------------- 1 file changed, 55 deletions(-) delete mode 100644 LeetCode/0209_ Minimum_Size_Subarray_Sum_.py diff --git a/LeetCode/0209_ Minimum_Size_Subarray_Sum_.py b/LeetCode/0209_ Minimum_Size_Subarray_Sum_.py deleted file mode 100644 index 0917675..0000000 --- a/LeetCode/0209_ Minimum_Size_Subarray_Sum_.py +++ /dev/null @@ -1,55 +0,0 @@ -class Solution: - def minSubArrayLen(self, s, nums): - """ - :type s: int - :type nums: List[int] - :rtype: int - """ - - # approach: - # 1. build a prefix list and iterate it - # 2. at each iteration, use binary search to find prefix+s - # 3. after search done, get length between left and i - - n = len(nums) - result = n + 1 - - if n == 0: - return 0 - - # build prefix sums array - prefix = [0 for i in range(n+1)] - for i in range(1, n+1): - prefix[i] = prefix[i-1] + nums[i-1] - - # for each iteration i, we try to use binary search to find - # prefix[i] + s, which means the sum of subarray between i - # and left will be more than s - for i in range(n): - left = i + 1 - right = n - target = prefix[i] + s - - while left <= right: - m = left + (right - left) // 2 - - if prefix[m] < target: - left = m + 1 - - # in both greater and equal cases, we have to update - # right index for finding the leftist sum which is - # larger than target - else: - right = m - 1 - - # end for-loop immediately if left is greater than n because - # it means every sum will be less than targer in following iteration - if left > n: - break - - # if left is valid, left will be the leftist element that is - # larger than target, so length between left and i is what we need - if left - i < result: - result = left - i - - return 0 if result > n else result \ No newline at end of file From 4ed65a287d3b2d8b12f219240a894e62422f6b2d Mon Sep 17 00:00:00 2001 From: flick-23 Date: Thu, 29 Oct 2020 18:02:55 +0530 Subject: [PATCH 12/31] Added solution for Problem 0209 Minimum Size Sub Array Sum --- 0209_Minimum_Size_Subarray_Sum_.py | 55 ++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 0209_Minimum_Size_Subarray_Sum_.py diff --git a/0209_Minimum_Size_Subarray_Sum_.py b/0209_Minimum_Size_Subarray_Sum_.py new file mode 100644 index 0000000..0917675 --- /dev/null +++ b/0209_Minimum_Size_Subarray_Sum_.py @@ -0,0 +1,55 @@ +class Solution: + def minSubArrayLen(self, s, nums): + """ + :type s: int + :type nums: List[int] + :rtype: int + """ + + # approach: + # 1. build a prefix list and iterate it + # 2. at each iteration, use binary search to find prefix+s + # 3. after search done, get length between left and i + + n = len(nums) + result = n + 1 + + if n == 0: + return 0 + + # build prefix sums array + prefix = [0 for i in range(n+1)] + for i in range(1, n+1): + prefix[i] = prefix[i-1] + nums[i-1] + + # for each iteration i, we try to use binary search to find + # prefix[i] + s, which means the sum of subarray between i + # and left will be more than s + for i in range(n): + left = i + 1 + right = n + target = prefix[i] + s + + while left <= right: + m = left + (right - left) // 2 + + if prefix[m] < target: + left = m + 1 + + # in both greater and equal cases, we have to update + # right index for finding the leftist sum which is + # larger than target + else: + right = m - 1 + + # end for-loop immediately if left is greater than n because + # it means every sum will be less than targer in following iteration + if left > n: + break + + # if left is valid, left will be the leftist element that is + # larger than target, so length between left and i is what we need + if left - i < result: + result = left - i + + return 0 if result > n else result \ No newline at end of file From 8d2a8a313b32bdf06e1de34c9ecb3ea466ad9498 Mon Sep 17 00:00:00 2001 From: Venkatesh Dhongadi <51364640+flick-23@users.noreply.github.com> Date: Thu, 29 Oct 2020 18:06:42 +0530 Subject: [PATCH 13/31] Delete 0209_Minimum_Size_Subarray_Sum_.py --- 0209_Minimum_Size_Subarray_Sum_.py | 55 ------------------------------ 1 file changed, 55 deletions(-) delete mode 100644 0209_Minimum_Size_Subarray_Sum_.py diff --git a/0209_Minimum_Size_Subarray_Sum_.py b/0209_Minimum_Size_Subarray_Sum_.py deleted file mode 100644 index 0917675..0000000 --- a/0209_Minimum_Size_Subarray_Sum_.py +++ /dev/null @@ -1,55 +0,0 @@ -class Solution: - def minSubArrayLen(self, s, nums): - """ - :type s: int - :type nums: List[int] - :rtype: int - """ - - # approach: - # 1. build a prefix list and iterate it - # 2. at each iteration, use binary search to find prefix+s - # 3. after search done, get length between left and i - - n = len(nums) - result = n + 1 - - if n == 0: - return 0 - - # build prefix sums array - prefix = [0 for i in range(n+1)] - for i in range(1, n+1): - prefix[i] = prefix[i-1] + nums[i-1] - - # for each iteration i, we try to use binary search to find - # prefix[i] + s, which means the sum of subarray between i - # and left will be more than s - for i in range(n): - left = i + 1 - right = n - target = prefix[i] + s - - while left <= right: - m = left + (right - left) // 2 - - if prefix[m] < target: - left = m + 1 - - # in both greater and equal cases, we have to update - # right index for finding the leftist sum which is - # larger than target - else: - right = m - 1 - - # end for-loop immediately if left is greater than n because - # it means every sum will be less than targer in following iteration - if left > n: - break - - # if left is valid, left will be the leftist element that is - # larger than target, so length between left and i is what we need - if left - i < result: - result = left - i - - return 0 if result > n else result \ No newline at end of file From 99861bc23be4bb1ba6c6e0384319a9e594d827c5 Mon Sep 17 00:00:00 2001 From: UdeshAthukorala Date: Thu, 29 Oct 2020 19:33:25 +0530 Subject: [PATCH 14/31] Add 0084_Largest_Rectangle_in_Histogram.py --- LeetCode/0084_Largest_Rectangle_in_Histogram.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 LeetCode/0084_Largest_Rectangle_in_Histogram.py diff --git a/LeetCode/0084_Largest_Rectangle_in_Histogram.py b/LeetCode/0084_Largest_Rectangle_in_Histogram.py new file mode 100644 index 0000000..8e1b7e0 --- /dev/null +++ b/LeetCode/0084_Largest_Rectangle_in_Histogram.py @@ -0,0 +1,15 @@ +class Solution: + def largestRectangleArea(self, heights: List[int]) -> int: + heights.append(0) + lst = [-1] + output = 0 + + for i in range(len(heights)): + while (heights[i] < heights[lst[-1]]): + height = heights[lst.pop()] + width = i - lst[-1] - 1 + output = max(output, height * width) + lst.append(i) + + heights.pop() + return output From 833fb6dd3e0455d316290347e2166dbbff7fb6b4 Mon Sep 17 00:00:00 2001 From: Soroosh Date: Thu, 29 Oct 2020 20:22:49 +0100 Subject: [PATCH 15/31] Solution added passing leetcode test --- LeetCode/0371_sum_of_two_integers.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 LeetCode/0371_sum_of_two_integers.py diff --git a/LeetCode/0371_sum_of_two_integers.py b/LeetCode/0371_sum_of_two_integers.py new file mode 100644 index 0000000..5f01711 --- /dev/null +++ b/LeetCode/0371_sum_of_two_integers.py @@ -0,0 +1,13 @@ +class Solution: + def getSum(self, a: int, b: int) -> int: + # 32 bits integer max and min + MAX = 0x7FFFFFFF + MIN = 0x80000000 + + mask = 0xFFFFFFFF + + while b != 0: + carry = a & b + a, b = (a ^ b) & mask, (carry << 1) & mask + + return a if a <= MAX else ~(a ^ mask) \ No newline at end of file From 8f27130d92fd1e9428477c30ae65b6fa85ac2aa3 Mon Sep 17 00:00:00 2001 From: Achyut-sudo <71660666+Achyut-sudo@users.noreply.github.com> Date: Fri, 30 Oct 2020 01:59:19 +0530 Subject: [PATCH 16/31] uploaded code --- ...bstring_with_Concatenation_of_All_Words.py | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 LeetCode/0030_Substring_with_Concatenation_of_All_Words.py diff --git a/LeetCode/0030_Substring_with_Concatenation_of_All_Words.py b/LeetCode/0030_Substring_with_Concatenation_of_All_Words.py new file mode 100644 index 0000000..5ca0881 --- /dev/null +++ b/LeetCode/0030_Substring_with_Concatenation_of_All_Words.py @@ -0,0 +1,26 @@ +class Solution: + + def findSubstring(self,s, words): + self.Incr = len(words[0]) + self.LenWords = len(words) + self.Index = 0 + self.m = self.Incr * self.LenWords + self.Max = len(s) - self.m + self.output = [] + while self.Index <= self.Max : + WordsCopy = words.copy() + upperBound = self.Index + lowerBound = upperBound + self.m + for i in range(upperBound,lowerBound,self.Incr): + tempStr = s[i: i + self.Incr] + if tempStr in WordsCopy : + WordsCopy.remove(tempStr) + else: + break + if WordsCopy == [] : + self.output.append(self.Index) + self.Index += 1 + return self.output + + + \ No newline at end of file From afc5b6f4d0eaa49238b96ed9b758e6ae103a2e0c Mon Sep 17 00:00:00 2001 From: Sounakde Date: Fri, 30 Oct 2020 14:15:32 +0530 Subject: [PATCH 17/31] adding 0389_FindThe Difference solution for merging --- LeetCode/0389_FindTheDifference.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 LeetCode/0389_FindTheDifference.py diff --git a/LeetCode/0389_FindTheDifference.py b/LeetCode/0389_FindTheDifference.py new file mode 100644 index 0000000..06c2265 --- /dev/null +++ b/LeetCode/0389_FindTheDifference.py @@ -0,0 +1,30 @@ +import sys +import random + +# The function which will do the main operation of finding the difference + +class Solution: + def FindTheDifference(self, s: str, t: str) -> str: + for char in s: + if 96 <= ord(char) <= 123: + if 0 < len(s) < 1000: + if len(t) == len(s) + 1: + extra_char = t[-1] + return extra_char + else: + print("Differnce between second and first string is more than 1") + if s == '': + if 0 <= len(s) <= 1000: + if len(t) == len(s) + 1: + extra_char = t[-1] + return extra_char + else: + print("Differnce between second and first string is more than 1") + +if __name__ == "__main__": + # Initialising the string variable with input from the user + s = sys.argv[1] + # Initialising the second string variable with input from user + t = sys.argv[2] + solution = Solution().FindTheDifference(s, t) + print(solution) \ No newline at end of file From e3cf5dff48bec066be1ff8bfcf3c4b031f3b898a Mon Sep 17 00:00:00 2001 From: Achyut-sudo <71660666+Achyut-sudo@users.noreply.github.com> Date: Fri, 30 Oct 2020 21:14:40 +0530 Subject: [PATCH 18/31] Uploaded code --- LeetCode/0289_Game_of_Life.py | 42 +++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 LeetCode/0289_Game_of_Life.py diff --git a/LeetCode/0289_Game_of_Life.py b/LeetCode/0289_Game_of_Life.py new file mode 100644 index 0000000..a312714 --- /dev/null +++ b/LeetCode/0289_Game_of_Life.py @@ -0,0 +1,42 @@ +class Solution: + def gameOfLife(self, board): + self.m = len(board) + self.n = len(board[0]) + self.board = [rows.copy() for rows in board] + for i in range(self.m): + for j in range(self.n): + state = self.board[i][j] + dataDict = self.CheckNeighbors(i,j) + nextGen = self.NextGenState(state,dataDict) + board[i][j] = nextGen + + + def CheckNeighbors(self,row,column): + retDict = {"live":0,"dead":0} + lb = max(column-1,0) + rb = min(column+2,self.n) + tb = max(row -1,0) + bb = min(row+2,self.m) + for rows in range(tb,bb): + for columns in range(lb,rb): + if rows != row or columns != column : + neighbor = self.board[rows][columns] + if neighbor == 1: + retDict["live"] += 1 + else: + retDict["dead"] += 1 + return retDict + + def NextGenState(self,state,dataDict): + finalState = 0 + liveNeighbors = dataDict["live"] + if state == 1: + if liveNeighbors == 2 or liveNeighbors == 3: + finalState = 1 + else: + if liveNeighbors == 3: + finalState = 1 + return finalState + + + From 9f7896659ed72ca3d3bab4f577dfcae2aff0c174 Mon Sep 17 00:00:00 2001 From: Biraj De Date: Fri, 30 Oct 2020 23:59:56 +0530 Subject: [PATCH 19/31] Added 1550_Three_Consecutive_Odds.py --- LeetCode/1550_Three_Consecutive_Odds.py | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 LeetCode/1550_Three_Consecutive_Odds.py diff --git a/LeetCode/1550_Three_Consecutive_Odds.py b/LeetCode/1550_Three_Consecutive_Odds.py new file mode 100644 index 0000000..cc99bea --- /dev/null +++ b/LeetCode/1550_Three_Consecutive_Odds.py @@ -0,0 +1,3 @@ +class Solution: + def threeConsecutiveOdds(self, arr: List[int]) -> bool: + return '111' in "".join([str(i%2) for i in arr]) \ No newline at end of file From 72f8973c98ccb66b0d4c3688f021b8e091fe20e5 Mon Sep 17 00:00:00 2001 From: Bar Rotstein Date: Sat, 31 Oct 2020 11:42:36 +0200 Subject: [PATCH 20/31] added a buddy strings implementation --- LeetCode/0859_Buddy_String.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 LeetCode/0859_Buddy_String.py diff --git a/LeetCode/0859_Buddy_String.py b/LeetCode/0859_Buddy_String.py new file mode 100644 index 0000000..fdcec92 --- /dev/null +++ b/LeetCode/0859_Buddy_String.py @@ -0,0 +1,13 @@ +class Solution: + def buddyStrings(self, A: str, B: str) -> bool: + indexes_to_swap = [] + for idx, string in enumerate(A): + if string != B[idx]: + indexes_to_swap.append(idx) + if len(indexes_to_swap) > 2: + return False + + if len(indexes_to_swap) != 2: + return false + + return A[indexes_to_swap[0]] == B[indexes_to_swap[1]] and A[indexes_to_swap[1]] == B[indexes_to_swap[0]] From 1c40079195ffe5f055e098dc12c20a65b7d3fbd6 Mon Sep 17 00:00:00 2001 From: barrotsteindev Date: Sat, 31 Oct 2020 12:06:35 +0200 Subject: [PATCH 21/31] pass all LeetCode tests --- LeetCode/0859_Buddy_String.py | 44 ++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/LeetCode/0859_Buddy_String.py b/LeetCode/0859_Buddy_String.py index fdcec92..69f4602 100644 --- a/LeetCode/0859_Buddy_String.py +++ b/LeetCode/0859_Buddy_String.py @@ -1,13 +1,31 @@ -class Solution: - def buddyStrings(self, A: str, B: str) -> bool: - indexes_to_swap = [] - for idx, string in enumerate(A): - if string != B[idx]: - indexes_to_swap.append(idx) - if len(indexes_to_swap) > 2: - return False - - if len(indexes_to_swap) != 2: - return false - - return A[indexes_to_swap[0]] == B[indexes_to_swap[1]] and A[indexes_to_swap[1]] == B[indexes_to_swap[0]] +class Solution: + @staticmethod + def update_char_count(char, char_count): + curr_char_count = char_count.get(char, 0) + curr_char_count += 1 + char_count[char] = curr_char_count + + + def buddyStrings(self, A: str, B: str) -> bool: + char_count = {} + indexes_to_swap = [] + dup = False + for idx, string in enumerate(A): + curr_char_count = char_count.get(string, 0) + curr_char_count += 1 + char_count[string] = curr_char_count + if (curr_char_count > 1): + dup = True + if string != B[idx]: + indexes_to_swap.append(idx) + if len(indexes_to_swap) > 2: + return False + + if len(indexes_to_swap) == 1: + return False + + if len(indexes_to_swap) == 2: + return A[indexes_to_swap[0]] == B[indexes_to_swap[1]] and A[indexes_to_swap[1]] == B[indexes_to_swap[0]] + return dup + +print(Solution().buddyStrings("aa", "aa")) From fdf2ed0cb42d979e2d83ef1a8c61bfc4c77b98b0 Mon Sep 17 00:00:00 2001 From: barrotsteindev Date: Sat, 31 Oct 2020 12:09:09 +0200 Subject: [PATCH 22/31] removed unused code --- LeetCode/0859_Buddy_String.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/LeetCode/0859_Buddy_String.py b/LeetCode/0859_Buddy_String.py index 69f4602..ddd3014 100644 --- a/LeetCode/0859_Buddy_String.py +++ b/LeetCode/0859_Buddy_String.py @@ -1,12 +1,7 @@ class Solution: - @staticmethod - def update_char_count(char, char_count): - curr_char_count = char_count.get(char, 0) - curr_char_count += 1 - char_count[char] = curr_char_count - - - def buddyStrings(self, A: str, B: str) -> bool: + def buddyStrings(self, A: str, B: str) -> bool: + if len(A) != len(B): + return False char_count = {} indexes_to_swap = [] dup = False From d1e334ce19f10e77859511a986fea30d018b3a46 Mon Sep 17 00:00:00 2001 From: barrotsteindev Date: Sat, 31 Oct 2020 12:09:34 +0200 Subject: [PATCH 23/31] removed print() --- LeetCode/0859_Buddy_String.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/LeetCode/0859_Buddy_String.py b/LeetCode/0859_Buddy_String.py index ddd3014..55695c9 100644 --- a/LeetCode/0859_Buddy_String.py +++ b/LeetCode/0859_Buddy_String.py @@ -22,5 +22,3 @@ def buddyStrings(self, A: str, B: str) -> bool: if len(indexes_to_swap) == 2: return A[indexes_to_swap[0]] == B[indexes_to_swap[1]] and A[indexes_to_swap[1]] == B[indexes_to_swap[0]] return dup - -print(Solution().buddyStrings("aa", "aa")) From ded0eff51ec486b22c442ace5793c6d68006ffcc Mon Sep 17 00:00:00 2001 From: Sounakde Date: Sat, 31 Oct 2020 15:44:07 +0530 Subject: [PATCH 24/31] adding 0389_FindTheDifference solution for merging with corresponding issue --- LeetCode/0389_FindTheDifference.py | 40 +++++++++++------------------- 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/LeetCode/0389_FindTheDifference.py b/LeetCode/0389_FindTheDifference.py index 06c2265..7495dcf 100644 --- a/LeetCode/0389_FindTheDifference.py +++ b/LeetCode/0389_FindTheDifference.py @@ -1,30 +1,20 @@ import sys -import random - -# The function which will do the main operation of finding the difference class Solution: def FindTheDifference(self, s: str, t: str) -> str: - for char in s: - if 96 <= ord(char) <= 123: - if 0 < len(s) < 1000: - if len(t) == len(s) + 1: - extra_char = t[-1] - return extra_char - else: - print("Differnce between second and first string is more than 1") - if s == '': - if 0 <= len(s) <= 1000: - if len(t) == len(s) + 1: - extra_char = t[-1] - return extra_char - else: - print("Differnce between second and first string is more than 1") + a = 0 + b = 0 + if 0 <= len(s) <= 1000: + for chars in s: + if 97 <= ord(chars) <= 122: + a += ord(chars) + for letters in t: + if 97 <= ord(letters) <= 122: + b += ord(letters) + return chr(b - a) + -if __name__ == "__main__": - # Initialising the string variable with input from the user - s = sys.argv[1] - # Initialising the second string variable with input from user - t = sys.argv[2] - solution = Solution().FindTheDifference(s, t) - print(solution) \ No newline at end of file +s = sys.argv[1] +t = sys.argv[2] +solution = Solution().FindTheDifference(s,t) +print(solution) \ No newline at end of file From f74d5624d8adba23b943a0fdc7d304bd7a39c5d6 Mon Sep 17 00:00:00 2001 From: Viktoria Jechsmayr Date: Sat, 31 Oct 2020 19:23:50 +0100 Subject: [PATCH 25/31] Delete settings.json --- .vscode/settings.json | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 25c729f..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "python.pythonPath": "/bin/python3" -} \ No newline at end of file From 8a66d3bfbaeda24b360f54dda00b41bbe10a57b6 Mon Sep 17 00:00:00 2001 From: chw9 <43727884+chw9@users.noreply.github.com> Date: Sat, 31 Oct 2020 15:06:28 -0400 Subject: [PATCH 26/31] added solution to 0599 --- .../0599_Minimum_Index_Sum_of_Two_Lists.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 LeetCode/0599_Minimum_Index_Sum_of_Two_Lists.py diff --git a/LeetCode/0599_Minimum_Index_Sum_of_Two_Lists.py b/LeetCode/0599_Minimum_Index_Sum_of_Two_Lists.py new file mode 100644 index 0000000..d43ce31 --- /dev/null +++ b/LeetCode/0599_Minimum_Index_Sum_of_Two_Lists.py @@ -0,0 +1,20 @@ +class Solution(object): + def findRestaurant(self, list1, list2): + ind1 = 0 + ind2 = 0 + ind_sum = sys.maxsize + rest = list() + + for restaurant1 in list1: + for restaurant2 in list2: + if (restaurant1 == restaurant2) and ((ind1 + ind2) < ind_sum): + ind_sum = ind1 + ind2 + rest = [] + rest.append(restaurant2) + elif (restaurant1 == restaurant2) and ((ind1 + ind2) == ind_sum): + rest.append(restaurant2) + ind2 = ind2 + 1 + ind1 = ind1 + 1 + ind2 = 0 + + return rest \ No newline at end of file From eabee1b0320242e977f1d65b7bb2459e75d87d91 Mon Sep 17 00:00:00 2001 From: Sounakde <65114561+Sounakde@users.noreply.github.com> Date: Sun, 1 Nov 2020 09:59:42 +0530 Subject: [PATCH 27/31] Update 0389_FindTheDifference.py I have edited the file and checked the solution in LeetCode website a 2nd time. The solution is being accepted by the website now. --- LeetCode/0389_FindTheDifference.py | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/LeetCode/0389_FindTheDifference.py b/LeetCode/0389_FindTheDifference.py index 7495dcf..0da6419 100644 --- a/LeetCode/0389_FindTheDifference.py +++ b/LeetCode/0389_FindTheDifference.py @@ -1,7 +1,5 @@ -import sys - class Solution: - def FindTheDifference(self, s: str, t: str) -> str: + def findTheDifference(self, s: str, t: str) -> str: a = 0 b = 0 if 0 <= len(s) <= 1000: @@ -12,9 +10,3 @@ def FindTheDifference(self, s: str, t: str) -> str: if 97 <= ord(letters) <= 122: b += ord(letters) return chr(b - a) - - -s = sys.argv[1] -t = sys.argv[2] -solution = Solution().FindTheDifference(s,t) -print(solution) \ No newline at end of file From dc3323840e9d8121c596338273ce96e958fd541f Mon Sep 17 00:00:00 2001 From: flick-23 Date: Sun, 1 Nov 2020 13:36:22 +0530 Subject: [PATCH 28/31] Added Solution to Problem 0234 Palindrome Linked List --- LeetCode/0234_Palindrome_Linked_List_.py | 42 ++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 LeetCode/0234_Palindrome_Linked_List_.py diff --git a/LeetCode/0234_Palindrome_Linked_List_.py b/LeetCode/0234_Palindrome_Linked_List_.py new file mode 100644 index 0000000..2522fc7 --- /dev/null +++ b/LeetCode/0234_Palindrome_Linked_List_.py @@ -0,0 +1,42 @@ +# Definition for singly-linked list. +# class ListNode(object): +# def __init__(self, x): +# self.val = x +# self.next = None + +class Solution(object): + + def reverse(self, head): + p = head.next + while p and p.next: + tmp = p.next + p.next = p.next.next + tmp.next = head.next + head.next = tmp + + def isPalindrome(self, head): + """ + :type head: ListNode + :rtype: bool + """ + + #get middle pointer + p1 = ListNode(0) + p1.next = head + p2 = p1 + while p2 and p2.next: + p1 = p1.next + p2 = p2.next.next + + # reverse second half of list + self.reverse(p1) + + # check palindrome + p1 = p1.next + p2 = head + while p1: + if p1.val != p2.val: + return False + p1 = p1.next + p2 = p2.next + return True \ No newline at end of file From 8675615a41c52c6fb38532e888e97a82ebeb718e Mon Sep 17 00:00:00 2001 From: Prince Singh Tomar Date: Mon, 2 Nov 2020 02:31:06 +0530 Subject: [PATCH 29/31] added code of Questions 0052,0110 and 0145 --- LeetCode/0052_N_Queens_2.py | 13 ++++++++++++ LeetCode/0110_balanced_binary_tree.py | 21 +++++++++++++++++++ .../0145_binary_tree_postorder_traversal.py | 18 ++++++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 LeetCode/0052_N_Queens_2.py create mode 100644 LeetCode/0110_balanced_binary_tree.py create mode 100644 LeetCode/0145_binary_tree_postorder_traversal.py diff --git a/LeetCode/0052_N_Queens_2.py b/LeetCode/0052_N_Queens_2.py new file mode 100644 index 0000000..30b03d1 --- /dev/null +++ b/LeetCode/0052_N_Queens_2.py @@ -0,0 +1,13 @@ +class Solution(object): + # @return an integer + def totalNQueens(self, n): + return self.totalNQueensRecu([], 0, n) + + def totalNQueensRecu(self, solution, row, n): + if row == n: + return 1 + result = 0 + for i in xrange(n): + if i not in solution and reduce(lambda acc, j: abs(row - j) != abs(i - solution[j]) and acc, xrange(len(solution)), True): + result += self.totalNQueensRecu(solution + [i], row + 1, n) + return result \ No newline at end of file diff --git a/LeetCode/0110_balanced_binary_tree.py b/LeetCode/0110_balanced_binary_tree.py new file mode 100644 index 0000000..e99066c --- /dev/null +++ b/LeetCode/0110_balanced_binary_tree.py @@ -0,0 +1,21 @@ +#class TreeNode(object): +# def __init__(self, x): +# self.val = x +# self.left = None +# self.right = None + + +class Solution(object): + # @param root, a tree node + # @return a boolean + def isBalanced(self, root): + def getHeight(root): + if root is None: + return 0 + left_height, right_height = \ + getHeight(root.left), getHeight(root.right) + if left_height < 0 or right_height < 0 or \ + abs(left_height - right_height) > 1: + return -1 + return max(left_height, right_height) + 1 + return (getHeight(root) >= 0) \ No newline at end of file diff --git a/LeetCode/0145_binary_tree_postorder_traversal.py b/LeetCode/0145_binary_tree_postorder_traversal.py new file mode 100644 index 0000000..ef7c7fc --- /dev/null +++ b/LeetCode/0145_binary_tree_postorder_traversal.py @@ -0,0 +1,18 @@ +class Solution(object): + def postorderTraversal(self, root): + """ + :type root: TreeNode + :rtype: List[int] + """ + result, stack = [], [(root, False)] + while stack: + root, is_visited = stack.pop() + if root is None: + continue + if is_visited: + result.append(root.val) + else: + stack.append((root, True)) + stack.append((root.right, False)) + stack.append((root.left, False)) + return result \ No newline at end of file From 72e0608ba0ce41229653e75f0b03ea212be8f88e Mon Sep 17 00:00:00 2001 From: Viktoria Jechsmayr Date: Mon, 2 Nov 2020 00:18:37 +0100 Subject: [PATCH 30/31] Renaming Files Missing Leading Zero --- ...e_in_a_Linked_List.py => 0237_Delete_Node_in_a_Linked_List.py} | 0 ...Preorder_Traversal.py => 0589_Nary_Tree_Preorder_Traversal.py} | 0 .../{997_Find_The_Town_Judge.py => 0997_Find_The_Town_Judge.py} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename LeetCode/{237_Delete_Node_in_a_Linked_List.py => 0237_Delete_Node_in_a_Linked_List.py} (100%) rename LeetCode/{589_Nary_Tree_Preorder_Traversal.py => 0589_Nary_Tree_Preorder_Traversal.py} (100%) rename LeetCode/{997_Find_The_Town_Judge.py => 0997_Find_The_Town_Judge.py} (100%) diff --git a/LeetCode/237_Delete_Node_in_a_Linked_List.py b/LeetCode/0237_Delete_Node_in_a_Linked_List.py similarity index 100% rename from LeetCode/237_Delete_Node_in_a_Linked_List.py rename to LeetCode/0237_Delete_Node_in_a_Linked_List.py diff --git a/LeetCode/589_Nary_Tree_Preorder_Traversal.py b/LeetCode/0589_Nary_Tree_Preorder_Traversal.py similarity index 100% rename from LeetCode/589_Nary_Tree_Preorder_Traversal.py rename to LeetCode/0589_Nary_Tree_Preorder_Traversal.py diff --git a/LeetCode/997_Find_The_Town_Judge.py b/LeetCode/0997_Find_The_Town_Judge.py similarity index 100% rename from LeetCode/997_Find_The_Town_Judge.py rename to LeetCode/0997_Find_The_Town_Judge.py From 7256a9e3bb71d37614c8cfa7bbb6d011ac456ae3 Mon Sep 17 00:00:00 2001 From: Viktoria Jechsmayr Date: Tue, 21 Sep 2021 20:57:08 +0200 Subject: [PATCH 31/31] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 46f4b1a..491214d 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,8 @@ git push origin branch-name * PRs that "correct" Typos or spam files with comments * PRs that "correct" Coding Styles - Please accept that everybody has a different style -## Hacktoberfest +## Hacktoberfest 2020 During October there come pretty much PRs and Issues - Please be patient because of my fulltime job I cannot be online 24/7 - I do my best to work through your PRs as soon as possible. +This Repository is open for **Hacktoberfest 2020 ONLY**! No PRs/Issues for Hacktoberfest 2021 or later will be accepted and marked as **invalid/spam** __Thank You!__