easy

Larscodeeasy大约 5 分钟

001、两数之和Trip

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

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]

关键点:

  • 借助哈希表Map结构,记录下标和值
  • 求和变求差:降低时间复杂度
代码展开

014、最长公共前缀

015、三数之和

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。

注意:答案中不可以包含重复的三元组。

示例:
例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为:[-1, 0, 1], [-1, -1, 2]]

同类题型open in new window

代码展开

020、有效的括号

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。

有效字符串需满足:

  • 左括号必须用相同类型的右括号闭合。
  • 左括号必须以正确的顺序闭合。
  • 注意空字符串可被认为是有效字符串。

示例 1: 输入: "()" ,输出: true
示例 2: 输入: "()[]{}" ,输出: true
示例 3: 输入: "(]" ,输出: false
示例 4: 输入: "([)]" ,输出: false
示例 5: 输入: "{[]}" ,输出: true

扩展题型:32最长有效括号open in new window

代码展开

053、最大子序和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

示例:
输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。

进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。

代码展开
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.1