编程算法竞赛试题题库及详细答案.docxVIP

  • 0
  • 0
  • 约1.05万字
  • 约 13页
  • 2026-06-25 发布于河北
  • 举报

编程算法竞赛试题题库及详细答案

一、基础入门题(适合新手入门,侧重语法与简单逻辑)

题目1:两数之和(难度:★)

题干

给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回它们的数组下标。

注意:假设数组中只存在唯一的答案,且同一个元素不能被重复使用。

示例:

输入:nums=[2,7,11,15],target=9

输出:[0,1]

解释:因为nums[0]+nums[1]=2+7=9,所以返回[0,1]。

解题思路

最直观的思路是暴力枚举,遍历数组中每一个元素,再遍历它后面的所有元素,判断两者之和是否等于target,找到后直接返回下标。这种方法简单易懂,适合新手,虽然时间复杂度稍高,但对于入门题来说完全可行。

优化思路:使用哈希表(字典)存储已经遍历过的元素及其下标,遍历当前元素时,计算target与当前元素的差值,若差值在哈希表中,说明找到答案,直接返回当前下标和哈希表中差值对应的下标;若不在,将当前元素及其下标存入哈希表,继续遍历。这种方法时间复杂度更低,效率更高。

代码实现(Python)

python

deftwoSum(nums,target):

#方法1:暴力枚举(新手友好)

n=len(nums)

foriinrange(n):

文档评论(0)

1亿VIP精品文档

相关文档