编程经典算法题目及答案_第1页
编程经典算法题目及答案_第2页
编程经典算法题目及答案_第3页
编程经典算法题目及答案_第4页
编程经典算法题目及答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编程经典算法题目及答案1.问题描述:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。2.输入:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]=2+7=9,所以返回[0,1]。3.答案:```pythondeftwoSum(nums,target):hashmap={}fori,numinenumerate(nums):iftarget-numinhashmap:return[hashmap[target-num],i]hashmap[num]=ireturn[]测试nums=[2,7,11,15]target=9print(twoSum(nums,target))输出:[0,1]```4.问题描述:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达数组的最后一个位置。5.输入:输入:nums=[2,3,1,1,4]输出:True解释:从位置0到1,跳1步,然后跳3步到达最后一个位置。6.答案:```pythondefcanJump(nums):n=len(nums)lastPos=n-1foriinrange(n-1,-1,-1):ifi+nums[i]>=lastPos:lastPos=ireturnlastPos==0测试nums=[2,3,1,1,4]print(canJump(nums))输出:True```7.问题描述:给定一个非负整数数组,你最初在一个特定的位置,数组中的每个元素代表你在该位置可以跳跃的最大长度,你的目标是使用最少的跳跃次数到达数组的最后一个位置。你可以选择从你当前的位置跳到绝对值等于或小于当前位置值的任何位置。8.输入:输入:nums=[2,3,1,1,4]输出:2解释:从位置0到1,跳1步,然后从位置1到3,跳1步到达最后一个位置。9.答案:```pythondefjump(nums):n=len(nums)ifn<=1:return0step,end,farthest=0,0,0foriinrange(n-1):farthest=max(farthest,i+nums[i])ifi==end:step+=1end=farthestreturnstep测试nums=[2,3,1,1,4]print(jump(nums))输出:2```10.问题描述:给定一个整数数组nums,其中恰好有两个元素的和为特定值,返回这两个元素的索引。11.输入:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]=2+7=9,返回[0,1]。12.答案:```pythondeftwoSum(nums,target):hashmap={}fori,numinenumerate(nums):complement=target-numifcomplementinhashmap:return[hashmap[complement],i]hashmap[num]=ireturn[]测试nums=[2,7,11,15]target=9print(twoSum(nums,target))输出:[0,1]```13.问题描述:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案,且同一元素不能使用两遍。14.输入:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]=2+7=9,返回[0,1]。15.答案:```pythondeftwoSum(nums,target):num_dict={}fori,numinenumerate(nums):complement=target-numifcomplementinnum_dict:return[num_dict[complement],i]num_dict[num]=ireturn[]测试nums=[2,7,11,15]target=9print(twoSum(nums,target))输出:[0,1]```16.问题描述:给定一个整数数组nums,其中恰好有两个元素的和为特定值,返回这两个元素的索引。17.输入:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]=2+7=9,返回[0,1]。18.答案:```pythondeftwoSum(nums,target):num_dict={}fori,numinenumerate(nums):complement=target-numifcomplementinnum_dict:return[num_dict[complement],i]num_dict[num]=ireturn[]测试nums=[2,7,11,15]target=9print(twoSum(nums,target))输出:[0,1]```19.问题描述:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案,且同一元素不能使用两遍。20.输入:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]=2+7=9,返回[0,1]。21.答案:```pythondeftwoSum(nums,target):num_dict={}fori,numinenumerate(nums):complement=target-numifcomplementinnum_dict:return[num_dict[complement],i]num_dict[num]=ireturn[]测试nums=[2,7,11,15]target=9print(twoSum(nums,target))输出:[0,1]```22.问题描述:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。23.输入:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]=2+7=9,返回[0,1]。24.答案:```pythondeftwoSum(nums,target):num_dict={}fori,numinenumerate(nums):complement=target-numifcomplementinnum_dict:return[num_dict[complement],i]num_dict[num]=ireturn[]测试nums=[2,7,11,15]target=9print(twoSum(nums,target))输出:[0,1]```25.问题描述:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案,且同一元素不能使用两遍。26.输入:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]=2+7=9,返回[0,1]。27.答案:```pythondeftwoSum(nums,target):num_dict={}fori,numinenumerate(nums):compleme

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论