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

5-10两数之和

给定一组整数,还有一个目标数,在给定这组整数中找到两个数字,使其和为目标数,如找到,解是唯一的。找不到则显示 "no answer"。输出的下标按从小到大排序。用一重循环加字典实现。

输入格式:

在一行中给出这组数。
在下一行输入目标数

输出格式:

在一行中输出这两个数的下标,用一个空格分开。

n=list(map(int,input().split(','))) m=int(input()) s={} f=False for i in range(len(n)): a=n[i] b=m-a if b in s: print(s[b],i) f=True break s[a]=i if not f: print("no answer")
知识点说明
一重循环只需遍历一次数组,O(n) 时间复杂度
字典(哈希表)s[a] = i存值->下标,查找 O(1)
查找逻辑对当前数a,查所需数b = m - a是否在字典中
输出顺序字典里存的下标一定更小,直接先输出它,再输出当前 i
唯一解找到第一个就 break,保证唯一

题目要求运用一重循环加字典实现,上面的代码正是如此,不过我还写了一段用两重循环进行的代码.

n=list(map(int,input().split(','))) m=int(input()) f=False for i in range(len(n)): for j in range(i+1,len(n)): if n[i]+n[j]==m: print(i,j) f=True break if not f: print("no answer")

还有这种方法:

n=list(map(int,input().split(','))) m=int(input()) s={} f=False for i,a in enumerate(n): b=m-a if b in s: print(s[b],i) f=True break s[a]=i if not f: print("no answer")
一重循环只需遍历一次数组,O(n) 时间复杂度
字典查找 O(1)用哈希表快速判断需要的数是否出现过
enumerate 简洁同时拿下标和值,不用写range(len(n))
自动保证顺序字典里存的下标一定比当前小,输出自然从小到大
找到即停题目保证解唯一,找到第一个就 break
代码短小清晰逻辑集中,没有冗余
http://www.jsqmd.com/news/488081/

相关文章:

  • IO-Link物理层深度解析:从三线连接到信号迟滞的硬件基石
  • 14,文件的基础操作
  • 一文彻底搞懂 cloud-init:从初始化流程到 cloud.cfg 深度解析
  • 护眼灯最好的牌子是哪个?2026年护眼台灯选购全指南|深度点评书客、柏曼、霍尼韦尔、飞利浦等热门型号,揭开“越用越累眼”的真相,买前一定要看!
  • 计算机毕业设计springboot基于Vue的不动产登记系统 基于SpringBoot与Vue.js的房地产产权在线管理平台 采用前后端分离架构的房屋资产数字化登记系统
  • flutter打包ipad 并上传Appstore
  • Nacos配置监听避坑指南:configService.addListener的5个常见问题及解决方案
  • 3大创新解决90%下载难题:Adobe Downloader让macOS用户轻松获取Adobe软件
  • 嵌入式通信协议(学习)
  • YimMenu:GTA V增强工具完全指南
  • OpenWRT+SFTP保姆级教程:5分钟搞定远程文件安全传输(含cpolar配置)
  • 攻克动态页面转PDF难题:wkhtmltopdf的JavaScript交互实战策略
  • 比迪丽AI绘画Java面试实战:AIGC相关考点与解决方案
  • 免费毕业答辩PPT模板|全专业适配,新手可快速生成
  • 用 Nano Banana 生成高设计感区位图(附网站与提示词)
  • 告别图形界面:用CMD完成90%的Windows系统维护(附常用命令清单)
  • pc端网站使用微信登录全流程
  • 163MusicLyrics:音乐歌词管理的效率工具
  • 颠覆AI交互:5大创新让提示词效率提升300%
  • ArrayList之模仿外卖系统综合案例
  • 实体店生意不好,别先怪客流,先看这 3 件事做没做
  • ‌Metasploit渗透测试框架实战入门指南
  • 逻辑学起码常识让人猛醒:数学有几百年重大错误:将假R误为R
  • Anything to RealCharacters 2.5D引擎C++高性能实现解析
  • ChatGPT语音通话实时歌唱功能的技术实现与避坑指南
  • OpenClaw设置教程之安全篇
  • MATLAB箱线图绘制全攻略:从数据导入到美化输出(附常见问题解决)
  • 从“存储”到“创造”:知识库激发智能体的创新潜能
  • ChatTTS深度解析:如何实现精准停顿与多音字处理以提升语音合成效率
  • 掌握AI视频增强:从问题诊断到专业优化的实践指南