Compare commits

...

2 Commits

Author SHA1 Message Date
Hanzhang ma
0e82709984 array and dic 2024-06-04 15:58:37 +02:00
Hanzhang ma
d819c04697 binary search 2024-06-04 15:58:21 +02:00
2 changed files with 29 additions and 0 deletions

19
167-240604-pass/main.py Normal file
View File

@ -0,0 +1,19 @@
class Solution:
def twoSum(self, numbers: list[int], target: int) -> list[int]:
for idx, num in enumerate(numbers):
finding = target - num
left = idx
right = len(numbers) - 1
while left <= right:
mid = (left + right) // 2
if numbers[mid] == finding:
return [idx + 1, mid + 1]
if numbers[mid] > finding:
right = mid - 1
continue
if numbers[mid] < finding:
left = mid + 1
sol = Solution()
print(sol.twoSum([2, 7 ,11, 15], 26))
print(sol.twoSum([-1, 9], 8))
print(sol.twoSum([2,3,4], 6))

10
26-240604-pass/main.py Normal file
View File

@ -0,0 +1,10 @@
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
k = {}
cnt = 0
for num in nums:
if num not in k:
nums[cnt] = num
cnt += 1
k[num] = 1
return cnt