个人主页:小田爱学编程
系列专栏:刷题日记
关注博主,随时获取更多关于IT的优质内容!
欢迎来到小田代码世界~
喜欢的小伙伴记得一键三连哦 ૮(˶ᵔ ᵕ ᵔ˶)ა
一.题目:
1. 两数之和 - 力扣(LeetCode)
二.算法和代码:
1.暴力法:(c)
2.哈希表:(python)
两次遍历:以此找出符合题目的数字
int* twoSum(int* nums, int numsSize, int target, int* returnSize) {
int*array=(int*)malloc(2*sizeof(int));
for(int i=0;i
元素:索引 降低时间复杂度
key元素 value索引
def twoSum(self, nums: List[int], target: int) -> List[int]:
result = []
mapping = {}
for i in range(0, len(nums)):
mapping[nums[i]] = i #映射关系 字典
for j in range(0, len(nums)):
diff = target - nums[j]
if (diff in mapping and mapping[diff] != j):
result.append(j);
result.append(mapping[diff]);
return result
今天的分享到这里就结束啦!如果觉得文章还不错的话,可以三连支持一下,您的支持就是我前进的动力!