
leetcode
文章平均质量分 75
暗夜无风
专注python/pytorch/ML/DL知识分享,兼顾C/C++/Java知识
展开
-
力扣:520. 检测大写字母
目录题目:520. 检测大写字母示例1示例2提示:解题思路题目:520. 检测大写字母难度: 简单题目:我们定义,在以下情况时,单词的大写用法是正确的:全部字母都是大写,比如 “USA” 。单词中所有字母都不是大写,比如 “leetcode” 。如果单词不只含有一个字母,只有首字母大写, 比如 “Google” 。给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。示例1输入:word = "USA"输出:true示例2输入:word = "原创 2021-11-13 19:09:02 · 153 阅读 · 1 评论 -
力扣:441. 排列硬币
目录题目:441. 排列硬币示例1示例2提示:解题思路(1)模拟(2)二分法(3)数学题目:441. 排列硬币难度: 简单题目:你总共有 n 枚硬币,并计划将它们按阶梯状排列。对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币。阶梯的最后一行 可能 是不完整的。给你一个数字 n ,计算并返回可形成 完整阶梯行 的总行数。示例1输入:n = 5输出:2解释:因为第三行不完整,所以返回 2 。示例2输入:n = 8输出:3解释:因为第四行不完整,所以返回 3 。原创 2021-10-10 18:34:40 · 176 阅读 · 0 评论 -
352. 将数据流变为多个不相交区间
目录题目:352. 将数据流变为多个不相交区间示例1提示:解题思路(1)暴力法(2)并查集题目:352. 将数据流变为多个不相交区间难度: 困难题目:给你一个由非负整数 a1, a2, …, an 组成的数据流输入,请你将到目前为止看到的数字总结为不相交的区间列表。实现 SummaryRanges 类:SummaryRanges() 使用一个空数据流初始化对象。void addNum(int val)向数据流中加入整数 val 。int[][] getIntervals()以不相交区间 [s原创 2021-10-09 17:15:28 · 129 阅读 · 0 评论 -
力扣:223. 矩形面积
目录题目:223. 矩形面积示例1示例2提示:解题思路题目:223. 矩形面积难度: 中等题目:给你 二维 平面上两个 由直线构成的 矩形,请你计算并返回两个矩形覆盖的总面积。每个矩形由其 左下 顶点和 右上 顶点坐标表示:第一个矩形由其左下顶点 (ax1, ay1) 和右上顶点 (ax2, ay2) 定义。第二个矩形由其左下顶点 (bx1, by1) 和右上顶点 (bx2, by2) 定义。示例1输入:ax1 = -3, ay1 = 0, ax2 = 3, ay2 = 4, bx1原创 2021-09-30 15:56:48 · 293 阅读 · 0 评论 -
力扣:371. 两整数之和
目录题目:371. 两整数之和示例1示例2提示:解题思路题目:371. 两整数之和难度: 中等题目:给你两个整数 a 和 b ,不使用 运算符 + 和 - ,计算并返回两整数之和。示例1输入:a = 1, b = 2输出:3示例2输入:a = 2, b = 3输出:5提示:-1000 <= a, b <= 1000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sum-of-two-int原创 2021-09-26 18:26:19 · 152 阅读 · 0 评论 -
力扣:583. 两个字符串的删除操作
目录题目:583. 两个字符串的删除操作示例提示:解题思路题目:583. 两个字符串的删除操作难度: 中等题目:给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。示例输入: “sea”, “eat”输出: 2解释: 第一步将"sea"变为"ea",第二步将"eat"变为"ea"提示:给定单词的长度不超过500。给定单词中的字符只含有小写字母。来源:力扣(LeetCode)链接:http原创 2021-09-25 16:00:02 · 172 阅读 · 0 评论 -
力扣:725. 分隔链表
目录题目:725. 分隔链表示例1示例2提示:解题思路题目:725. 分隔链表难度: 中等题目:给你一个头结点为 head 的单链表和一个整数 k ,请你设计一个算法将链表分隔为 k 个连续的部分。每部分的长度应该尽可能的相等:任意两部分的长度差距不能超过 1 。这可能会导致有些部分为 null 。这 k 个部分应该按照在链表中出现的顺序排列,并且排在前面的部分的长度应该大于或等于排在后面的长度。返回一个由上述 k 部分组成的数组。示例1输入:head = [1,2,3], k = 5原创 2021-09-22 11:35:32 · 162 阅读 · 0 评论 -
力扣:212. 单词搜索 II
目录题目:494. 目标和示例1示例2提示:解题思路题目:494. 目标和难度: 困难题目:给定一个 m x n 二维字符网格 board 和一个单词(字符串)列表 words,找出所有同时在二维网格和字典中出现的单词。单词必须按照字母顺序,通过 相邻的单元格 内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一个单词中不允许被重复使用。来源:力扣(LeetCode)链接:著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例1原创 2021-09-16 17:46:58 · 207 阅读 · 0 评论 -
力扣:162. 寻找峰值
目录题目:494. 目标和示例1示例2提示:解题思路题目:494. 目标和难度: 中等题目:峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞ 。你必须实现时间复杂度为 O(log n) 的算法来解决此问题。示例1输入:nums = [1,2,3,1]输出:2解释:3 是峰值元素,你的函数应该返回其索引 2。原创 2021-09-15 21:50:08 · 238 阅读 · 0 评论 -
力扣:524. 通过删除字母匹配到字典里最长单词
目录题目:494. 目标和示例1示例2提示:解题思路(1)双指针(2)排序+双指针题目:494. 目标和难度: 中等题目:给你一个字符串 s 和一个字符串数组 dictionary 作为字典,找出并返回字典中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。如果答案不止一个,返回长度最长且字典序最小的字符串。如果答案不存在,则返回空字符串。示例1输入:s = “abpcplea”, dictionary = [“ale”,“apple”,“monkey”,“plea”]输出:“ap原创 2021-09-14 13:59:37 · 235 阅读 · 0 评论 -
力扣每日一题:65. 有效数字
目录题目:65. 有效数字示例1示例2示例3示例4提示解题思路(1)模拟法(2)状态机(3)正则表达式题目:65. 有效数字难度: 困难题目:有效数字(按顺序)可以分成以下几个部分:一个 小数 或者 整数(可选)一个 ‘e’ 或 ‘E’ ,后面跟着一个 整数小数(按顺序)可以分成以下几个部分:(可选)一个符号字符(’+’ 或 ‘-’)下述格式之一:至少一位数字,后面跟着一个点 ‘.’至少一位数字,后面跟着一个点 ‘.’ ,后面再跟着至少一位数字一个点 ‘.’ ,后面跟着至少一原创 2021-06-17 13:52:09 · 312 阅读 · 2 评论 -
力扣每日一题:278. 第一个错误的版本
目录题目:278. 第一个错误的版本示例解题思路解题代码题目:278. 第一个错误的版本难度: 简单题目:你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实原创 2021-06-13 23:27:09 · 157 阅读 · 0 评论 -
力扣每日一题:279. 完全平方数
目录题目:279. 完全平方数示例1示例2提示:解题思路及代码(1)完全背包问题-动态规划(2)动态规划+空间优化(3)BFS题目:279. 完全平方数难度: 中等题目:给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。给你一个整数 n ,返回和为 n 的完全平方数的 最少数量 。完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而原创 2021-06-13 11:41:36 · 696 阅读 · 0 评论 -
力扣每日一题:518. 零钱兑换 II
目录题目:518. 零钱兑换 II示例1示例2示例3提示:解题思路解题代码(1)动态规划(2)动态规划+空间优化题目:518. 零钱兑换 II难度: 中等题目:给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。示例1输入: amount = 5, coins = [1, 2, 5]输出: 4解释: 有四种方式可以凑成总金额:5=55=2+2+15=2+1+1+15=1+1+1+1+1示例2输入: amount = 3,原创 2021-06-10 11:25:08 · 329 阅读 · 0 评论 -
力扣每日一题:879. 盈利计划
目录题目:879. 盈利计划示例1示例2提示:解题思路解题代码(1)动态规划(2)动态规划+空间优化题目:879. 盈利计划难度: 困难题目:集团里有 n 名员工,他们可以完成各种各样的工作创造利润。第 i 种工作会产生 profit[i] 的利润,它要求 group[i] 名成员共同参与。如果成员参与了其中一项工作,就不能参与另一项工作。工作的任何至少产生 minProfit 利润的子集称为 盈利计划 。并且工作的成员总数最多为 n 。有多少种计划可以选择?因为答案很大,所以 返回结果模 1原创 2021-06-09 23:49:09 · 283 阅读 · 3 评论 -
力扣每日一题:1049. 最后一块石头的重量 II
目录题目:1049. 最后一块石头的重量 II示例1示例2示例3提示:解题思路解题代码(1)动态规划(2)动态规划+空间优化题目:1049. 最后一块石头的重量 II难度: 中等题目:有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x != y,那么重量为 x原创 2021-06-08 23:56:53 · 402 阅读 · 8 评论 -
力扣每日一题:494. 目标和
目录题目:494. 目标和示例1示例2提示:解题思路解题代码(1)回溯(2)动态规划(01背包问题)(3)背包问题——空间优化题目:494. 目标和难度: 中等题目:给你一个整数数组 nums 和一个整数 target 。向数组中的每个整数前添加 ‘+’ 或 ‘-’ ,然后串联起所有整数,可以构造一个 表达式 :例如,nums = [2, 1] ,可以在 2 之前添加 ‘+’ ,在 1 之前添加 ‘-’ ,然后串联起来得到表达式 “+2-1” 。返回可以通过上述方法构造的、运算结果等于 tar原创 2021-06-07 14:24:51 · 236 阅读 · 2 评论 -
力扣每日一题:474. 一和零
目录题目:474. 一和零示例1示例2提示:解题思路解题代码(1)动态规划(2)滚动数组,空间优化题目:474. 一和零难度: 中等题目:给你一个二进制字符串数组 strs 和两个整数 m 和 n 。请你找出并返回 strs 的最大子集的大小,该子集中 最多 有 m 个 0 和 n 个 1 。如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。示例1输入:strs = [“10”, “0001”, “111001”, “1”, “0”], m = 5, n = 3输出原创 2021-06-06 14:44:44 · 275 阅读 · 2 评论 -
力扣每日一题:1190. 反转每对括号间的子串
目录题目:1190. 反转每对括号间的子串示例1示例2示例3示例4提示:解题思路解题代码(1)栈(2)栈——优化题目:1190. 反转每对括号间的子串难度: 中等题目:给出一个字符串 s(仅含有小写英文字母和括号)。请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。注意,您的结果中 不应 包含任何括号。示例1输入:s = “(abcd)”输出:“dcba”示例2输入:s = “(u(love)i)”输出:“iloveu”示例3输入:s = “原创 2021-05-26 20:23:16 · 352 阅读 · 0 评论 -
力扣每日一题:810. 黑板异或游戏
目录题目:810. 黑板异或游戏示例提示:解题思路解题代码题目:810. 黑板异或游戏难度: 困难题目:黑板上写着一个非负整数数组 nums[i] 。Alice 和 Bob 轮流从黑板上擦掉一个数字,Alice 先手。如果擦除一个数字后,剩余的所有数字按位异或运算得出的结果等于 0 的话,当前玩家游戏失败。 (另外,如果只剩一个数字,按位异或运算得到它本身;如果无数字剩余,按位异或运算结果为 0。)换种说法就是,轮到某个玩家时,如果当前黑板上所有数字按位异或运算结果等于 0,这个玩家获胜。假设两原创 2021-05-22 14:20:50 · 324 阅读 · 2 评论 -
力扣每日一题:692. 前K个高频单词
目录题目:692. 前K个高频单词示例1示例2提示:解题思路解题代码题目:692. 前K个高频单词难度: 中等题目:给一非空的单词列表,返回前 k 个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。示例1输入: [“i”, “love”, “leetcode”, “i”, “love”, “coding”], k = 2输出: [“i”, “love”]解析: “i” 和 “love” 为出现次数最多的两个单词,均为2次。注意原创 2021-05-20 22:55:54 · 285 阅读 · 0 评论 -
力扣每日一题:1738. 找出第 K 大的异或坐标值
目录题目:1738. 找出第 K 大的异或坐标值示例1示例2示例3示例4提示:解题思路解题代码题目:1738. 找出第 K 大的异或坐标值难度: 中等题目:给你一个二维矩阵 matrix 和一个整数 k ,矩阵大小为 m x n 由非负整数组成。矩阵中坐标 (a, b) 的 值 可由对所有满足 0 <= i <= a < m 且 0 <= j <= b < n 的元素 matrix[i][j](下标从 0 开始计数)执行异或运算得到。请你找出 matrix 的原创 2021-05-19 23:31:21 · 232 阅读 · 0 评论 -
力扣每日一题:1442. 形成两个异或相等数组的三元组数目
目录题目:1442. 形成两个异或相等数组的三元组数目示例1示例2示例3示例4示例5提示:解题思路解题代码(1)三次遍历(2)二次遍历(3)一次遍历(哈希表)题目:1442. 形成两个异或相等数组的三元组数目难度: 中等题目:给你一个整数数组 arr 。现需要从数组中取三个下标 i、j 和 k ,其中 (0 <= i < j <= k < arr.length) 。a 和 b 定义如下:a = arr[i] ^ arr[i + 1] ^ … ^ arr[j - 1]原创 2021-05-18 20:30:18 · 169 阅读 · 0 评论 -
力扣每日一题:993. 二叉树的堂兄弟节点
目录题目:993. 二叉树的堂兄弟节点示例1示例2示例3提示:解题思路解题代码(1)层序遍历(BFS)(2)先序遍历(DFS)题目:993. 二叉树的堂兄弟节点难度: 简单题目:在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点。我们给出了具有唯一值的二叉树的根节点 root ,以及树中两个不同节点的值 x 和 y 。只有与值 x 和 y 对应的节点是堂兄弟节点时,才返回 true 。否原创 2021-05-17 23:00:04 · 301 阅读 · 0 评论 -
力扣每日一题:13. 罗马数字转整数
目录题目:13. 罗马数字转整数示例1示例2示例3示例4示例5提示:解题思路解题代码(1)枚举模拟法(2)优化模拟法题目:13. 罗马数字转整数难度: 简单题目:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000原创 2021-05-15 18:51:52 · 156 阅读 · 1 评论 -
力扣每日一题:12. 整数转罗马数字
目录题目:12. 整数转罗马数字示例1示例2示例3示例4示例5提示:解题思路解题代码(1)朴素模拟法(2)贪心模拟法(3)编码题目:12. 整数转罗马数字难度: 中等题目:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1原创 2021-05-14 18:01:20 · 390 阅读 · 2 评论 -
力扣每日一题:1310. 子数组异或查询
目录题目:1310. 子数组异或查询示例1示例2提示:解题思路解题代码题目:1310. 子数组异或查询难度: 中等题目:有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor … xor arr[Ri])作为本次查询的结果。并返回一个包含给定查询 queries 所有结果的数组。示例1输入:arr = [1,3,原创 2021-05-12 22:45:34 · 154 阅读 · 0 评论 -
力扣每日一题:1720. 解码异或后的数组
目录题目:1720. 解码异或后的数组示例1示例2提示:解题思路解题代码解题感悟题目:1720. 解码异或后的数组难度: 简单题目:未知 整数数组 arr 由 n 个非负整数组成。经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encoded[i] = arr[i] XOR arr[i + 1] 。例如,arr = [1,0,2,1] 经编码后得到 encoded = [1,2,3] 。给你编码后的数组 encoded 和原数组 arr 的第一个元素 first(arr原创 2021-05-06 22:59:42 · 122 阅读 · 0 评论 -
力扣每日一题:554. 砖墙
目录题目:554. 砖墙示例1示例2提示:解题思路解题代码解题感悟题目:554. 砖墙难度: 中等题目:你的面前有一堵矩形的、由 n 行砖块组成的砖墙。这些砖块高度相同(也就是一个单位高)但是宽度不同。每一行砖块的宽度之和应该相等。你现在要画一条 自顶向下 的、穿过 最少 砖块的垂线。如果你画的线只是从砖块的边缘经过,就不算穿过这块砖。你不能沿着墙的两个垂直边缘之一画线,这样显然是没有穿过一块砖的。给你一个二维数组 wall ,该数组包含这堵墙的相关信息。其中,wall[i] 是一个代表从左至右原创 2021-05-02 20:46:47 · 410 阅读 · 2 评论 -
力扣每日一题:690. 员工的重要性
目录题目:690. 员工的重要性示例提示:解题思路解题代码解题感悟题目:690. 员工的重要性难度: 简单题目:给定一个保存员工信息的数据结构,它包含了员工 唯一的 id ,重要度 和 直系下属的 id 。比如,员工 1 是员工 2 的领导,员工 2 是员工 3 的领导。他们相应的重要度为 15 , 10 , 5 。那么员工 1 的数据结构是 [1, 15, [2]] ,员工 2的 数据结构是 [2, 10, [3]] ,员工 3 的数据结构是 [3, 5, []] 。注意虽然员工 3 也是员工原创 2021-05-01 15:31:53 · 118 阅读 · 0 评论 -
力扣每日一题:633. 平方数之和
目录题目:633. 平方数之和示例1示例2示例3示例4示例5提示:解题思路解题代码(1)sqrt(2)双指针解题感悟题目:633. 平方数之和难度: 中等题目:给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。示例1输入:c = 5输出:true解释:1 * 1 + 2 * 2 = 5示例2输入:c = 3输出:false示例3输入:c = 4输出:true示例4输入:c = 2输出:true示例5输入:c原创 2021-04-28 11:40:58 · 217 阅读 · 0 评论 -
力扣每日一题:938. 二叉搜索树的范围和
目录题目:938. 二叉搜索树的范围和示例1示例2提示:解题思路解题代码(1)朴素法(2)剪枝解题感悟题目:938. 二叉搜索树的范围和难度: 简单题目:给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。示例1输入:root = [10,5,15,3,7,null,18], low = 7, high = 15输出:32示例2输入:root = [10,5,15,3,7,13,18,1,null,6], low = 6, high原创 2021-04-27 16:36:05 · 131 阅读 · 0 评论 -
力扣每日一题:897. 递增顺序搜索树
目录题目:897. 递增顺序搜索树示例1示例2提示:解题思路解题代码(1)递归(2)非递归解题感悟题目:897. 递增顺序搜索树难度: 简单题目:给你一棵二叉搜索树,请你 按中序遍历 将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点。示例1输入: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原创 2021-04-25 20:11:45 · 163 阅读 · 0 评论 -
力扣每日一题:368. 最大整除子集
目录题目:368. 最大整除子集示例1示例2提示:解题思路解题代码解题感悟题目:368. 最大整除子集难度: 中等题目:给你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对 (answer[i], answer[j]) 都应当满足:answer[i] % answer[j] == 0 ,或answer[j] % answer[i] == 0如果存在多个有效解子集,返回其中任何一个均可。示例1输入:nums = [1,2,原创 2021-04-23 15:53:49 · 200 阅读 · 0 评论 -
力扣每日一题:91. 解码方法
目录题目:91. 解码方法示例1示例2示例3示例4提示:解题思路解题代码(1)动态规划(2)优化版解题感悟题目:91. 解码方法难度: 中等题目:一条包含字母 A-Z 的消息通过以下映射进行了 编码 :‘A’ -> 1‘B’ -> 2…‘Z’ -> 26要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,“11106” 可以映射为:“AAJF” ,将消息分组为 (1 1 10 6)“KJF” ,将消息分组为 (11 1原创 2021-04-21 14:49:02 · 359 阅读 · 0 评论 -
力扣每日一题:28. 实现 strStr()
目录题目:28. 实现 strStr()示例1示例2示例3提示:解题思路解题代码(1)暴力破解(2)KMP算法解题感悟题目:28. 实现 strStr()难度: 简单题目:实现 strStr() 函数。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。对于本题而言,当 nee原创 2021-04-20 19:37:23 · 436 阅读 · 0 评论 -
力扣每日一题:27. 移除元素
目录题目:27. 移除元素示例1示例2提示:解题思路解题代码(1)双指针(2)双指针优化解题感悟题目:27. 移除元素难度: 简单题目:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函原创 2021-04-19 14:56:30 · 167 阅读 · 0 评论 -
力扣每日一题:26. 删除有序数组中的重复项
目录题目:26. 删除有序数组中的重复项示例1示例2提示:解题思路解题代码解题感悟题目:26. 删除有序数组中的重复项难度: 简单题目:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内原创 2021-04-18 11:36:45 · 278 阅读 · 1 评论 -
力扣每日一题:217. 存在重复元素 219. 存在重复元素 II 220. 存在重复元素 III
目录一、217. 存在重复元素题目描述示例1示例2示例3解题思路解题代码(1)哈希表(2)排序法二、219. 存在重复元素 II题目描述示例1示例2示例3解题思路解题代码三、220. 存在重复元素 III题目描述示例1示例2示例3提示解题思路解题代码四、解题感悟一、217. 存在重复元素题目描述难度: 简单题目:给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例1输入: [1,2,3,1]原创 2021-04-17 17:42:13 · 409 阅读 · 0 评论 -
力扣每日一题:213. 打家劫舍 II
目录题目:213. 打家劫舍 II示例1示例2示例3提示:解题思路解题代码(1)动态规划dp数组(2)动态规划滚动数组解题感悟题目:213. 打家劫舍 II难度: 中等题目:你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,能够偷原创 2021-04-15 17:36:48 · 259 阅读 · 0 评论