当前位置: 首页 > news >正文

01_两数之和

一、题目

'''
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。
你可以按任意顺序返回答案。变种:这个题目可以让返回多组数字、有序返回、多数之和
'''

二、思路:

1、首先,确定比较的维度:比较的目标值是整数,那么,要把数组里的元素,按整数的形式,去和target去比较
2、其次,找到题目中包含的关系:随便选一个元素X,与target,另一个元素y应该是应该等于target-x,且x!=y
3、然后,明确要返回的类型:数组下标。所以本题的主角是用下标表示整数去比较。元素转化为下标,不太方便,但是下标转化为元素,比较容易。list[下标]=元素
4、最后,选择算法思路:

三、解法

暴力枚举:循环法

写法1:结果报错:list[i] + list[j] == target
class Solution:def twoSum(self,nums:list[int],target:int):n = len(nums)for i in range(n-1):for j in range(i+1,n-1):if list[i] + list[j] == target:return [i,j]return []程序报错的原因是在内部循环中,你使用了list[i]和list[j]来访问列表元素,但是应该使用nums[i]和nums[j]
写法2:结果[0,1]---简单版本,只返回第一对符合target的元素索引
class Solution:def twoSum(self,nums:list[int],target:int):n = len(nums)for i in range(n-1):for j in range(i+1,n-1):if nums[i] + nums[j] == target:return [i,j]return []if __name__ == '__main__':nums = [2,7,4,5,11,15]solution = Solution()result = solution.twoSum(nums,9)print(result)
写法3:结果[[0, 1], [2, 3]]
class Solution:def twoSum(self, nums: list[int], target: int):n = len(nums)result = []for i in range(n-1):for j in range(i+1, n):if nums[i] + nums[j] == target:result.append([i, j])return resultif __name__ == '__main__':nums = [2, 7, 4, 5, 11, 15]solution = Solution()result = solution.twoSum(nums, 9)print(result)

哈希表法:字典法

# 写法一:问题不会写
class Solution:def twoSum(self,nums:list[int],target:int):hash_map ={}n = len(nums)for i,nu

http://www.mrgr.cn/news/33880.html

相关文章:

  • Kafka简单实践
  • Java线程的sleep和wait的区别
  • WPF-控件的属性值的类型转化
  • linux虚拟机无法使用yum在线拉取
  • Docker 命令总结:从入门到入土
  • 【api】java和python联动
  • 情指行一体化平台建设方案和必要性-———未来之窗行业应用跨平台架构
  • 数字范围按位与
  • Hadoop入门两道面试题
  • AI教你学Python 第17天 :小项目联系人管理系统
  • 【漏洞复现】用友 NC-Cloud queryStaffByName Sql注入漏洞
  • 计算机毕业设计PySpark+Scrapy农产品推荐系统 农产品爬虫 农产品商城 农产品大数据 农产品数据分析可视化 PySpark Hadoop
  • 【MySQL】获取最近7天和最近14天的订单数量,使用MySQL详细写出,使用不同的方法
  • 伊丽莎白·赫莉为杂志拍摄一组素颜写真,庆祝自己荣膺全球最性感女人第一名
  • 原子结构与电荷
  • 【Linux 21】线程安全
  • 【最快最简单的排序 —— 桶排序算法】
  • wgan 生成器 光是用噪声生成数据 还是噪声加输入数据
  • 自己开发了一个电脑上滚动背单词的软件
  • 用友ncc 如何解决 组件参照无显示问题
  • 速盾:高防cdn防御的时候会封ip吗?
  • Java 基本数据类型
  • 开启争对目标检测的100类数据集-信息收集
  • 汽车总线之----FlexRay总线
  • 速盾:高防 CDN 怎么屏蔽恶意访问?
  • 2024年中国科技核心期刊目录(自然科学卷)科技统计源核心