概述
LeetCode摆烂刷题记录-hoot100-1
文章目录
- LeetCode摆烂刷题记录-hoot100-1
- 前言
- 一、题目
- 二、解题思路
- 2.1 最简单的暴力:
- 2.2 借鉴哈希表的思路
- 三、总结
- 碎碎念
前言
计划一周刷一道题,从hot100开始(是不是有点太摆了????
一、题目
两数之和–简单
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
示例 1:
输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
示例 2:
输入:nums = [3,2,4], target = 6
输出:[1,2]
示例 3:
输入:nums = [3,3], target = 6
输出:[0,1]
提示:
2 <= nums.length <= 104
-109 <= nums[i] <= 109
-109 <= target <= 109
只会存在一个有效答案
进阶:你可以想出一个时间复杂度小于 O(n2) 的算法吗?
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/two-sum
二、解题思路
2.1 最简单的暴力:
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
start = 0
res = []
temp = 0
for i_index,i in enumerate(nums):
for j_index,j in enumerate(nums[i_index+1:]):
if (i+j) == target:
# print(i)
# print(j)
res.append(i_index)
res.append(j_index+i_index+1)
return res
运行耗时
2.2 借鉴哈希表的思路
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
haxi_dic = {}
res = []
for i_index,i in enumerate(nums):
temp = target - i
if temp not in haxi_dic:
haxi_dic[i]=i_index
else:
start = int(haxi_dic[temp])
res.append(start)
res.append(i_index)
break
return res
运行耗时
三、总结
提示:这里对文章进行总结:
1.在碰到“判断元素是否出现过”,“判断元素是否在这个集合里面出现过”这样的需求时,要想是否可以用哈希表来解决。
2.可以用enumerate来遍历列表中的数据和下标(总是记不住这个函数怎么写????
例如:
for i_index,i in enumerate(nums):
print(i_index,i)
碎碎念
哈哈哈哈评论区第一条
最后
以上就是落后自行车为你收集整理的LeetCode摆烂刷题记录-hoot100-1-两数之和LeetCode摆烂刷题记录-hoot100-1前言一、题目二、解题思路三、总结碎碎念的全部内容,希望文章能够帮你解决LeetCode摆烂刷题记录-hoot100-1-两数之和LeetCode摆烂刷题记录-hoot100-1前言一、题目二、解题思路三、总结碎碎念所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复