diff --git a/001_Two_Sum.py b/001_Two_Sum.py index 1a16a00..92a5b46 100644 --- a/001_Two_Sum.py +++ b/001_Two_Sum.py @@ -1,17 +1,6 @@ class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: - # nums_index = list(enumerate(nums)) - # nums_index.sort() - # print(nums) for i in range(len(nums)): complement = target-nums[i] if complement in nums and nums.index(complement) != i: return [i,nums.index(complement)] - # for i in range(len(nums)-1): - # j=i+1 - # while j < len(nums): - # if nums[i]+nums[j]==target: - # return [i, j] - # j += 1 - # i += 1 - # return result diff --git a/013_Roman_To_Integer.py b/013_Roman_To_Integer.py index f65b778..96dfd4b 100644 --- a/013_Roman_To_Integer.py +++ b/013_Roman_To_Integer.py @@ -1,17 +1,43 @@ -#convert Roman to Integer class Solution: - # @param {string} s - # @return {integer} - def romanToInt(self, s): - roman = {'M': 1000,'D': 500 ,'C': 100,'L': 50,'X': 10,'V': 5,'I': 1} - - result = 0 - for i in range(len(s)-1): - if roman[s[i]] int: + roman = { + 'I':1, + 'V':5, + 'X':10, + 'L':50, + 'C':100, + 'D':500, + 'M':1000 + } + s=s.replace('IV', 'IIII').replace('IX','IIIIIIIII') + s=s.replace('XL', 'XXXX').replace('XC','XXXXXXXXX') + s=s.replace('CD', 'CCCC').replace('CM','CCCCCCCCC') + + L = [] + temp = s[0] + for i in range(1,len(s)): + if s[i] == s[i-1]: + temp += s[i] else: - result+=roman[s[i]] - else: - result+=roman[s[-1]] - - return result + L.append(temp) + temp = s[i] + if i == len(s)-1: + L.append(temp) + sum = 0 + for i in L: + print(i) + if i[0] == 'M': + sum += roman['M'] * len(i) + elif i[0] =='C': + sum += roman['C'] * len(i) + elif i[0] =='D': + sum += roman['D'] * len(i) + elif i[0] =='L': + sum += roman['L'] * len(i) + elif i[0] =='X': + sum += roman['X'] * len(i) + elif i[0] =='V': + sum += roman['V'] * len(i) + elif i[0] =='I': + sum += roman['I'] * len(i) + return sum diff --git a/020_Valid_Parentheses.py b/020_Valid_Parentheses.py new file mode 100644 index 0000000..3e3698f --- /dev/null +++ b/020_Valid_Parentheses.py @@ -0,0 +1,8 @@ +class Solution: + def isValid(self, s: str) -> bool: + while s: + if '{}' in s: s = s.replace('{}', '') + elif '[]' in s: s = s.replace('[]', '') + elif '()' in s: s = s.replace('()', '') + else: return False + return True