![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题
Smiler_
这个作者很懒,什么都没留下…
展开
-
165. 比较版本号
添加链接描述给你两个版本号 version1 和 version2 ,请你比较它们。版本号由一个或多个修订号组成,各修订号由一个 ‘.’ 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。例如,2.5.33 和 0.1 都是有效的版本号。比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较 忽略任何前导零后的整数值 。也就是说,修订号 1 和修原创 2021-09-01 10:38:17 · 202 阅读 · 0 评论 -
LeetCode:690. 员工的重要性
题目链接:添加链接描述给定一个保存员工信息的数据结构,它包含了员工 唯一的 id ,重要度 和 直系下属的 id 。比如,员工 1 是员工 2 的领导,员工 2 是员工 3 的领导。他们相应的重要度为 15 , 10 , 5 。那么员工 1 的数据结构是 [1, 15, [2]] ,员工 2的 数据结构是 [2, 10, [3]] ,员工 3 的数据结构是 [3, 5, []] 。注意虽然员工 3 也是员工 1 的一个下属,但是由于 并不是直系 下属,因此没有体现在员工 1 的数据结构中。现在输入一个原创 2021-05-01 12:03:21 · 126 阅读 · 0 评论 -
LeetCode:137. 只出现一次的数字 II
题目链接:添加链接描述给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。示例 1:输入:nums = [2,2,3,2]输出:3思路:思路一:对数组进行排序,相同的数相邻,每次取三个相邻的数字进行判断,是否相等,如果相等继续取后面三个数进行判断;如果不相等,则答案就是这三个相邻数字的第一个,因为经过排序之后,单个出现的数字是排在相同三个数字的后面的,所以一定是三个数字的开头。另外在最后的时候也要判断,是否最后一个原创 2021-04-30 10:40:39 · 94 阅读 · 0 评论 -
LeetCode:403. 青蛙过河
题目链接:添加链接描述一只青蛙想要过河。 假定河流被等分为若干个单元格,并且在每一个单元格内都有可能放有一块石子(也有可能没有)。 青蛙可以跳上石子,但是不可以跳入水中。给你石子的位置列表 stones(用单元格序号 升序 表示), 请判定青蛙能否成功过河(即能否在最后一步跳至最后一块石子上)。开始时, 青蛙默认已站在第一块石子上,并可以假定它第一步只能跳跃一个单位(即只能从单元格 1 跳至单元格 2 )。如果青蛙上一步跳跃了 k 个单位,那么它接下来的跳跃距离只能选择为 k - 1、k 或 k +原创 2021-04-29 10:42:08 · 96 阅读 · 0 评论 -
LeetCode:633. 平方数之和
题目链接:添加链接描述给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。示例 1:输入:c = 5输出:true解释:1 * 1 + 2 * 2 = 5示例 2:输入:c = 3输出:false思路:很简单,通过sqrt函数降低时间复杂度进行枚举判断class Solution {public: bool judgeSquareSum(int c) { if(c==0) return true;原创 2021-04-28 09:37:51 · 105 阅读 · 0 评论 -
LeetCode:48. 旋转图像
题目链接:添加链接描述给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[7,4,1],[8,5,2],[9,6,3]]思路:思路还是比较简单的,但是写的时候有一些小细节没有注意到,主要思路如下:将矩形框看作n/2个⚪构成的同心圆,旋转90°其实就是第i个原创 2021-04-27 22:33:40 · 110 阅读 · 0 评论 -
LeetCode:938. 二叉搜索树的范围和
题目链接:添加链接描述题目:给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。示例 1:输入:root = [10,5,15,3,7,null,18], low = 7, high = 15输出:32思路:遍历整个树,将满足条件的节点值相加,遍历过程无脑使用栈。初始时将根节点放入栈中,如果左子树不为空,则将左子树放入栈中,同样,如果右子树也不为空,则将右子树也放入栈中。优化:需要判断当前节点是不是空根据二叉搜索树的特点进行优化,分为以原创 2021-04-27 10:21:23 · 86 阅读 · 0 评论 -
LeetCode:1011. 在 D 天内送达包裹的能力
题目链接:添加链接描述题目:传送带上的包裹必须在 D 天内从一个港口运送到另一个港口。传送带上的第 i 个包裹的重量为 weights[i]。每一天,我们都会按给出重量的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。返回能在 D 天内将传送带上的所有包裹送达的船的最低运载能力。示例 1:输入:weights = [1,2,3,4,5,6,7,8,9,10], D = 5输出:15解释:船舶最低载重 15 就能够在 5 天内送达所有包裹,如下所示:第 1 天:1, 2,原创 2021-04-26 10:09:49 · 76 阅读 · 0 评论 -
LeetCode:377. 组合总和 Ⅳ
题目描述:题目链接:添加链接描述给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。题目数据保证答案符合 32 位整数范围。示例:输入:nums = [1,2,3], target = 4输出:7解释:所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。思路原创 2021-04-25 17:39:13 · 88 阅读 · 0 评论 -
LeetCode:897. 递增顺序搜索树
给你一棵二叉搜索树,请你 按中序遍历 将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点。输入:root = [5,3,6,2,4,null,8,1,null,null,null,7,9]输出:[1,null,2,null,3,null,4,null,5,null,6,null,7,null,8,null,9]思路:先对原树进行中序遍历,将遍历的结果保存下来,之后根据保存下来的结果,按照题目要求重新建树。调bug原因:对栈中元素进原创 2021-04-25 17:28:35 · 143 阅读 · 0 评论 -
LeetCode:368. 最大整除子集
给你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对 (answer[i], answer[j]) 都应当满足:answer[i] % answer[j] == 0 ,或answer[j] % answer[i] == 0如果存在多个有效解子集,返回其中任何一个均可。输入:nums = [1,2,3]输出:[1,2]解释:[1,3] 也会被视为正确答案。思路简单dp。首先要明确的点是:(a%b=0),(b%c=0),则(a%c原创 2021-04-23 12:14:42 · 125 阅读 · 0 评论 -
LeetCode:363. 矩形区域不超过 K 的最大数值和
给你一个 m x n 的矩阵 matrix 和一个整数 k ,找出并返回矩阵内部矩形区域的不超过 k 的最大数值和。题目数据保证总会存在一个数值和不超过 k 的矩形区域。示例 1:输入:matrix = [[1,0,1],[0,-2,3]], k = 2输出:2解释:蓝色边框圈出来的矩形区域 [[0, 1], [-2, 3]] 的数值和是 2,且 2 是不超过 k 的最大数字(k = 2)。方法:使用了前缀和,首先求出((0,0),(x,y))这个区域内的数值和,之后利用此结果,求所有可能矩原创 2021-04-22 14:20:21 · 182 阅读 · 0 评论