计算两数之和

【问题描述】AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

给定一个整数列表a和目标值s,请在该列表中找出两数之和为s的两个整数,并返回这两个数的下标。AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

计算两数之和输出结果:AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

(2,1)AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

(6,4)AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

(8,4)AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【题前思考】AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

根据问题描述,填写表4-2-4。AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

表4-2-4 问题分析AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

计算两数之和AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【解题思路】AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

用字典dic来存放列表a各项的下标,以项为键,以下标为值。对列表中的每一个项a[i],求s与这个项的差b,即b=s-a[i],然后查找b是否在字典中,如果在字典中就表示a[i]+b==s符合题目要求,则打印出这两个数的下标(dic[b]和i),反之以这个项为键、下标为值创建项存入字典dic。AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【程序代码】AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

计算两数之和AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【代码分析】AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

①:定义一个空的字典,存放列表a各项与下标的对应关系。AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

②:len(a)计算列表a的长度,此处a的长度为10。for i in range(len(a)),即对0到9的每个值i执行循环体(不包含10)。AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

③:计算与项a[i]互补的数,即与a[i]之和为s的数。AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

④:a[i]是列表中的项,字典dic的键也是列表中的项,且a[i]+b等于s,此时如果b在字典dic中,则a[i]和b满足题目要求,则按格式输出dic[b]和i,即这两个数的下标。AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

⑤:如果b不在字典中,就创建字典项,将a[i]与下标i的对应关系存到字典dic中。AHs100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

关 键 词

两数之和

相关教程

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!

猜你喜欢