100道经典算法题及代码答案(上)

作者:暴富20212024.01.17 21:23浏览量:12

简介:本文将为你提供100道经典的算法题目,以及相应的代码实现。这些题目涵盖了各种常见的算法和数据结构问题,从基础到进阶,适合各个水平的读者。我们将分上下两篇进行解答,本篇为上篇,共包含50道题目。

千帆应用开发平台“智能体Pro”全新上线 限时免费体验

面向慢思考场景,支持低代码配置的方式创建“智能体Pro”应用

立即体验

题目1:数组中只出现一次的数字
题目描述:给定一个长度为 n 的数组,其中只有一个数字出现了奇数次,其他数字都出现了偶数次。找出这个出现奇数次的数字。
示例:
输入: [2, 2, 1, 1, 0, 0]
输出: 0
解题思路:使用异或运算(XOR)。由于出现偶数次的数字异或结果为0,而出现奇数次的数字异或结果为该数字本身。
代码实现:

  1. def singleNumber(nums):
  2. res = 0
  3. for num in nums:
  4. res ^= num
  5. return res

题目2:两数之和
题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。
示例:
输入: nums = [2, 7, 11, 15], target = 9
输出: [0, 1]
解题思路:使用哈希表。遍历数组,对于每个元素,在哈希表中查找是否存在与当前元素相加等于目标值的元素。
代码实现:

  1. def twoSum(nums, target):
  2. hashMap = {}
  3. for i in range(len(nums)):
  4. complement = target - nums[i]
  5. if complement in hashMap:
  6. return [hashMap[complement], i]
  7. hashMap[nums[i]] = i
article bottom image

相关文章推荐

发表评论