郴州市建设局网站节能科,2345电视剧网站免费,免费的黄冈网站代码,莒县网站建设公司题目#xff1a;
给定一个整数数组 nums 和一个整数目标值 target#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数#xff0c;并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是#xff0c;数组中同一个元素在答案里不能重复出现。
你…题目
给定一个整数数组 nums 和一个整数目标值 target请你在该数组中找出 和为目标值 target 的那 两个 整数并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案如 做法
暴力解法
class Solution:def twoSum(self, nums: List[int], target: int) - List[int]:n len(nums)for i in range(n):for j in range(i 1, n):if nums[i] nums[j] target:return [i, j]return []
哈希表求解
class Solution:def twoSum(self, nums: List[int], target: int) - List[int]:#定义了一个名为Solution的类其中包含一个名为twoSum的方法。这个方法接受类实例作为第一个参数self一个整数列表nums作为第二个参数一个整数target作为第三个参数并且该方法将返回一个整数类型的列表。hashtable dict()#在方法内部创建了一个空的字典hashtable用于存储遍历过的数字及其下标。for i, num in enumerate(nums): #使用enumerate函数遍历输入的整数列表nums。在循环中首先判断target与当前数字的差值是否在hashtable中如果在则返回对应的下标组成的列表。如果不在hashtable中则将当前数字及其下标存入hashtable中。if target - num in hashtable:return [hashtable[target - num], i]hashtable[nums[i]] ireturn [] #如果整个循环结束后仍未找到符合条件的数对则返回一个空列表。