题目
代码
执行用时:52 ms, 在所有 Python3 提交中击败了50.75% 的用户
内存消耗:17.2 MB, 在所有 Python3 提交中击败了5.08% 的用户
通过测试用例:57 / 57
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
cnt=dict()
for idx,item in enumerate(nums):
cnt.setdefault(item,[])
cnt[item].append(idx)
for item in cnt:
last=target-item
if last==item and len(cnt[last])>=2:
return cnt[last][:2]
elif last!=item and last in cnt:
return [cnt[item][0],cnt[last][0]]
return [0,0]
【方法2】
执行用时:456 ms, 在所有 Python3 提交中击败了45.39% 的用户
内存消耗:15.6 MB, 在所有 Python3 提交中击败了58.95% 的用户
通过测试用例:57 / 57
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
for idx,item in enumerate(nums):
if idx+1<len(nums) and (target-item) in nums[idx+1:]:
return [idx,nums[idx+1:].index(target-item)+idx+1]
return [0,0]