diff --git a/11_Binary-Search/06. Valid Triangle Number.py b/11_Binary-Search/06. Valid Triangle Number.py new file mode 100644 index 00000000..0d809540 --- /dev/null +++ b/11_Binary-Search/06. Valid Triangle Number.py @@ -0,0 +1,22 @@ +# https://leetcode.com/problems/valid-triangle-number/ +# https://youtu.be/PqEiJDdt3S4 + +class Solution: + def triangleNumber(self, nums: List[int]) -> int: + nums.sort() + res = 0 + + for i in range(len(nums)-1, 1, -1): + r = i - 1 + l = 0 + while l < r: + if nums[l] + nums[r] > nums[i]: + res += (r - l) + r -= 1 + else: + l += 1 + + return res + +# Time: O(N^2) +# Space: O(1) diff --git a/16_String/03. Longest Common Prefix.py b/16_String/03. Longest Common Prefix.py new file mode 100644 index 00000000..554ddb26 --- /dev/null +++ b/16_String/03. Longest Common Prefix.py @@ -0,0 +1,13 @@ +# https://leetcode.com/problems/longest-common-prefix/ +# https://youtu.be/0sWShKIJoo4 + +class Solution: + def longestCommonPrefix(self, strs: List[str]) -> str: + res = "" + for i in range(len(strs[0])): + for st in strs: + if i == len(st) or strs[0][i] != st[i]: + return res + res += strs[0][i] + + return res \ No newline at end of file