100道经典算法题及代码答案(上)
2024.01.17 21:23浏览量:12简介:本文将为你提供100道经典的算法题目,以及相应的代码实现。这些题目涵盖了各种常见的算法和数据结构问题,从基础到进阶,适合各个水平的读者。我们将分上下两篇进行解答,本篇为上篇,共包含50道题目。
千帆应用开发平台“智能体Pro”全新上线 限时免费体验
面向慢思考场景,支持低代码配置的方式创建“智能体Pro”应用
题目1:数组中只出现一次的数字
题目描述:给定一个长度为 n 的数组,其中只有一个数字出现了奇数次,其他数字都出现了偶数次。找出这个出现奇数次的数字。
示例:
输入: [2, 2, 1, 1, 0, 0]
输出: 0
解题思路:使用异或运算(XOR)。由于出现偶数次的数字异或结果为0,而出现奇数次的数字异或结果为该数字本身。
代码实现:
def singleNumber(nums):
res = 0
for num in nums:
res ^= num
return res
题目2:两数之和
题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。
示例:
输入: nums = [2, 7, 11, 15], target = 9
输出: [0, 1]
解题思路:使用哈希表。遍历数组,对于每个元素,在哈希表中查找是否存在与当前元素相加等于目标值的元素。
代码实现:
def twoSum(nums, target):
hashMap = {}
for i in range(len(nums)):
complement = target - nums[i]
if complement in hashMap:
return [hashMap[complement], i]
hashMap[nums[i]] = i

发表评论
登录后可评论,请前往 登录 或 注册