From 4d8fd333e4a5170238ab2fe85368a90559360957 Mon Sep 17 00:00:00 2001 From: ImAlpha Date: Thu, 28 Sep 2023 17:29:26 -0700 Subject: [PATCH] two pointer method, timed out at 41/48 test cases --- .../150_Evaluate_Reverse_Polish_Notation.py | 14 +++--- .../Stack}/22_Generate_Parenthesis.py | 0 .../Stack/739_Daily_Temperatures.py | 46 +++++++++++++++++++ NeetCodeRoadmap/Stack/tempCodeRunnerFile.py | 7 +++ 4 files changed, 61 insertions(+), 6 deletions(-) rename {Top150Interview => NeetCodeRoadmap/Stack}/22_Generate_Parenthesis.py (100%) create mode 100644 NeetCodeRoadmap/Stack/739_Daily_Temperatures.py create mode 100644 NeetCodeRoadmap/Stack/tempCodeRunnerFile.py diff --git a/NeetCodeRoadmap/Stack/150_Evaluate_Reverse_Polish_Notation.py b/NeetCodeRoadmap/Stack/150_Evaluate_Reverse_Polish_Notation.py index b2dd831..9e0fdec 100644 --- a/NeetCodeRoadmap/Stack/150_Evaluate_Reverse_Polish_Notation.py +++ b/NeetCodeRoadmap/Stack/150_Evaluate_Reverse_Polish_Notation.py @@ -22,13 +22,15 @@ class Solution(object): # return int(stack[-1]) # Recursion Solution + print(tokens) s = tokens[len(tokens) - 1] tokens.pop() - print(tokens) if(s not in '+-/*'): return int(s) else: a = self.evalRPN(tokens) b = self.evalRPN(tokens) + # print(a) + # print(b) if(s == "+"): return a + b elif(s == "*"): return a * b elif(s == "-"): return b - a @@ -37,8 +39,8 @@ class Solution(object): obj = Solution() print(obj.evalRPN(["2","1","+","3","*"])) # 9 print(obj.evalRPN(["4","13","5","/","+"])) # 6 -print(obj.evalRPN(["10","6","9","3","+","-11","*","/","*","17","+","5","+"])) # 22 -print(obj.evalRPN(["0","3","/"])) # 0 -print(obj.evalRPN(["3","11","+","5","-"])) # 9 -print(obj.evalRPN(["3","-4","+"])) # -1 -print(obj.evalRPN(["3","11","5","+","-"])) # -13 \ No newline at end of file +# print(obj.evalRPN(["10","6","9","3","+","-11","*","/","*","17","+","5","+"])) # 22 +# print(obj.evalRPN(["0","3","/"])) # 0 +# print(obj.evalRPN(["3","11","+","5","-"])) # 9 +# print(obj.evalRPN(["3","-4","+"])) # -1 +# print(obj.evalRPN(["3","11","5","+","-"])) # -13 \ No newline at end of file diff --git a/Top150Interview/22_Generate_Parenthesis.py b/NeetCodeRoadmap/Stack/22_Generate_Parenthesis.py similarity index 100% rename from Top150Interview/22_Generate_Parenthesis.py rename to NeetCodeRoadmap/Stack/22_Generate_Parenthesis.py diff --git a/NeetCodeRoadmap/Stack/739_Daily_Temperatures.py b/NeetCodeRoadmap/Stack/739_Daily_Temperatures.py new file mode 100644 index 0000000..cc1599f --- /dev/null +++ b/NeetCodeRoadmap/Stack/739_Daily_Temperatures.py @@ -0,0 +1,46 @@ +class Solution(object): + def dailyTemperatures(self, temperatures): + """ + :type temperatures: List[int] + :rtype: List[int] + """ + count = 0 + warmer_days = [] + l = 0 + r = 1 + while l < r: + # print(r) + if r == len(temperatures)-1: + if l != len(temperatures)-2: + if temperatures[r] > temperatures[l]: + count += 1 + warmer_days.append(count) + else: + warmer_days.append(0) + l += 1 + r = l + 1 + count = 0 + else: + if temperatures[r] > temperatures[l]: + count += 1 + warmer_days.append(count) + else: + warmer_days.append(0) + break + elif temperatures[r] > temperatures[l]: + count += 1 + warmer_days.append(count) + count = 0 + l += 1 + r = l + 1 + else: + r += 1 + count += 1 + warmer_days.append(0) + return warmer_days + +obj = Solution() +# print(obj.dailyTemperatures([73,74,75,71,69,72,76,73])) # [1,1,4,2,1,1,0,0] +# print(obj.dailyTemperatures([30,40,50,60])) # [1,1,1,0] +# print(obj.dailyTemperatures([55,38,53,81,61,93,97,32,43,78])) # [3,1,1,2,1,1,0,1,1,0] +print(obj.dailyTemperatures([77,77,77,77,77,41,77,41,41,77])) # [0,0,0,0,0,1,0,2,1,0] \ No newline at end of file diff --git a/NeetCodeRoadmap/Stack/tempCodeRunnerFile.py b/NeetCodeRoadmap/Stack/tempCodeRunnerFile.py new file mode 100644 index 0000000..3b61a10 --- /dev/null +++ b/NeetCodeRoadmap/Stack/tempCodeRunnerFile.py @@ -0,0 +1,7 @@ + elif r == len(temperatures)-1: + if l != len(temperatures)-2: + l += 1 + r = l + 1 + else: + warmer_days.append(0) + break \ No newline at end of file