中等
文章平均质量分 64
leetcode中等题
比奇堡咻飞兜
我很丰富,无法简介
展开
-
718. 最长重复子数组
一.题目 给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。 示例: 输入: A: [1,2,3,2,1] B: [3,2,1,4,7] 输出:3 解释: 长度最长的公共子数组是 [3, 2, 1] 。 提示: 1 <= len(A), len(B) <= 1000 0 <= A[i], B[i] < 100 来源:力扣(LeetCode) 链接:题目来源 二.分析 (1)对于这个题我们最简单的思路就是直接暴力求解,第一个循环遍历数组nums原创 2021-04-25 15:01:12 · 61 阅读 · 0 评论 -
64. 最小路径和
一.题目 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例 1: 输入:grid = [[1,3,1],[1,5,1],[4,2,1]] 输出:7 解释:因为路径 1→3→1→1→1 的总和最小。 示例 2: 输入:grid = [[1,2,3],[4,5,6]] 输出:12 提示: m == grid.length n == grid[i].length 1 <= m, n原创 2021-04-20 20:42:26 · 54 阅读 · 0 评论 -
279. 完全平方数
一.题目 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 给你一个整数 n ,返回和为 n 的完全平方数的 最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。 示例 1: 输入:n = 12 输出:3 解释:12 = 4 + 4 + 4 示例 2: 输入:n = 13 输出:2 解释:13 = 4原创 2021-04-17 11:23:03 · 492 阅读 · 0 评论 -
19. 删除链表的倒数第 N 个结点
一.题目 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 进阶:你能尝试使用一趟扫描实现吗? 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: 输入:head = [1], n = 1 输出:[] 示例 3: 输入:head = [1,2], n = 1 输出:[1] 提示: 链表中结点的数目为 sz 1 <= sz <= 30 0 <= Node.val <= 100 1 <=原创 2021-04-11 15:40:50 · 506 阅读 · 0 评论 -
881. 救生艇
一.问题描述 第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回载到每一个人所需的最小船数。(保证每个人都能被船载)。 示例 1: 输入:people = [1,2], limit = 3 输出:1 解释:1 艘船载 (1, 2) 示例 2: 输入:people = [3,2,2,1], limit = 3 输出:3 解释:3 艘船分别载 (1, 2), (2) 和 (3) 示例 3: 输原创 2021-03-25 15:39:42 · 92 阅读 · 0 评论 -
150. 逆波兰表达式求值
一.题目描述 根据 逆波兰表示法,求表达式的值。 有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 1)背景 逆波兰表达式是一种后缀表达式,所谓后缀就是指算符写在后面。 平常使用的算式则是一种中缀表达式,如 ( 1 + 2 ) * ( 3 + 4 ) 。 该算式的逆波兰表达式写法为 ( ( 1 2 + ) ( 3 4 + ) * ) 。 逆波兰表达式主要有以下两个优点: 去掉括号后表达式无歧义,上式即便写成 1 2 + 3 4 + * 也可以依据次序原创 2021-03-20 12:19:46 · 76 阅读 · 0 评论 -
92. 反转链表 II
一.题目描述 给你单链表的头节点 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。 示例 1: 输入:head = [1,2,3,4,5], left = 2, right = 4 输出:[1,4,3,2,5] 示例 2: 输入:head = [5], left = 1, right = 1 输出:[5] 提示: 链表中节点数目为 n 1 <= n <= 5原创 2021-03-18 16:21:15 · 184 阅读 · 0 评论 -
75,颜色分类
一.题目描述 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 示例 1: 输入:nums = [2,0,2,1,1,0] 输出:[0,0,1,1,2,2] 示例 2: 输入:nums = [2,0,1] 输出:[0,1,2] 示例 3: 输入:nums = [0] 输出:[0] 示例 4: 输入:nums = [1] 输出:[1] 提示: n原创 2021-03-04 14:40:09 · 76 阅读 · 1 评论 -
1052. 爱生气的书店老板
一.题目描述 今天,书店老板有一家店打算试营业 customers.length 分钟。每分钟都有一些顾客(customers[i])会进入书店,所有这些顾客都会在那一分钟结束后离开。 在某些时候,书店老板会生气。 如果书店老板在第 i 分钟生气,那么 grumpy[i] = 1,否则 grumpy[i] = 0。 当书店老板生气时,那一分钟的顾客就会不满意,不生气则他们是满意的。 书店老板知道一个秘密技巧,能抑制自己的情绪,可以让自己连续 X 分钟不生气,但却只能使用一次。 请你返回这一天营业下来,最多有原创 2021-02-23 20:59:17 · 80 阅读 · 0 评论 -
46.全排列(回溯算法)
一.题目描述 给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 来源:力扣(LeetCode) 链接:题目来源 二.问题分析 相当于数学中的全排列问题,我们需要考虑每个位置可能出现的数的情况。比如数组中一共有5个数,那么: 第一个位置可能的值为[1],[2],[3],[4],[5] 当取[1]时,第二个位置可能的数为除[原创 2021-01-23 14:48:34 · 212 阅读 · 1 评论 -
15.三数之和
15.三数之和 题目 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 来源:力扣(LeetCode) 链接:题目来源 示例1 输入:nums = [-1,0,1,2,-1,-4] 输出:[[-1,-1,2],[-1,0,1]] 示例2 输入:nums = [] 输出:[] 示例3 输入:nums = [0] 输出:[] 思路 1)开始分析的时候原创 2021-01-21 16:37:36 · 865 阅读 · 3 评论