![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
leetcode是个题库,里面有很编程多面试的题目,可以在线编译运行。 难度比较高。 如果自己能都做出来,对面大公司很有帮助。 建议一次只针对一种题型进行训练,如数组、链表、二叉树、回溯、动态规划,这样效果会更好。
axianera
这个作者很懒,什么都没留下…
展开
-
LeetCode 每日一题题解: 1768. 交替合并字符串
【代码】LeetCode 每日一题题解: 1768. 交替合并字符串。原创 2022-10-23 16:18:55 · 230 阅读 · 0 评论 -
LeetCode 力扣每日一题 题解 391. 完美矩形
原题链接:391. 完美矩形题目描述:给你一个数组 rectangles ,其中 rectangles[i] = [xi, yi, ai, bi] 表示一个坐标轴平行的矩形。这个矩形的左下顶点是 (xi, yi) ,右上顶点是 (ai, bi) 。如果所有矩形一起精确覆盖了某个矩形区域,则返回 true ;否则,返回 false 。(难度:困难)C++代码:typedef pair<int, int> Point;class Solution {...原创 2021-11-16 10:14:37 · 4915 阅读 · 0 评论 -
LeetCode 力扣每日一题 题解 319. 灯泡开关
原题描述:初始时有n 个灯泡处于关闭状态。第一轮,你将会打开所有灯泡。接下来的第二轮,你将会每两个灯泡关闭一个。第三轮,你每三个灯泡就切换一个灯泡的开关(即,打开变关闭,关闭变打开)。第 i 轮,你每 i 个灯泡就切换一个灯泡的开关。直到第 n 轮,你只需要切换最后一个灯泡的开关。找出并返回 n轮后有多少个亮着的灯泡。(难度:中等)原题链接:319. 灯泡开关 - 力扣(LeetCode) (leetcode-cn.com)C++代码:class Solution {...原创 2021-11-15 20:04:52 · 4055 阅读 · 0 评论 -
LeetCode 力扣每日一题 题解 677. 键值映射
原题描述:实现一个 MapSum 类,支持两个方法,insert和sum:MapSum() 初始化 MapSum 对象void insert(String key, int val) 插入 key-val 键值对,字符串表示键 key ,整数表示值 val 。如果键 key 已经存在,那么原来的键值对将被替代成新的键值对。int sum(string prefix) 返回所有以该前缀 prefix 开头的键 key 的值的总和。原题链接:677. 键值映射 - 力扣(LeetCode) ..原创 2021-11-14 10:53:22 · 3783 阅读 · 0 评论 -
LeetCode 力扣每日一题 题解 520. 检测大写字母
原题链接:题目描述:我们定义,在以下情况时,单词的大写用法是正确的:全部字母都是大写,比如 "USA" 。单词中所有字母都不是大写,比如 "leetcode" 。如果单词不只含有一个字母,只有首字母大写,比如"Google" 。给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。(难度:简单)C++代码:class Solution {public: bool detectCapitalUse(string word)...原创 2021-11-13 10:54:12 · 828 阅读 · 0 评论 -
LeetCode 力扣每日一题 375. 猜数字大小 II
题目描述:我们正在玩一个猜数游戏,游戏规则如下:我从1到 n 之间选择一个数字。你来猜我选了哪个数字。如果你猜到正确的数字,就会 赢得游戏 。如果你猜错了,那么我会告诉你,我选的数字比你的 更大或者更小 ,并且你需要继续猜数。每当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金。如果你花光了钱,就会 输掉游戏 。给你一个特定的数字 n ,返回能够 确保你获胜 的最小现金数,不管我选择那个数字(难度:中等)原题链接:375. 猜数字大小 II - 力扣(LeetCo..原创 2021-11-12 12:55:30 · 128 阅读 · 0 评论 -
LeetCode 力扣每日一题 629. K个逆序对数组
原题描述:给出两个整数n和k,找出所有包含从1到n的数字,且恰好拥有k个逆序对的不同的数组的个数。逆序对的定义如下:对于数组的第i个和第j个元素,如果满i<j且a[i]>a[j],则其为一个逆序对;否则不是。由于答案可能很大,只需要返回 答案 mod 109+ 7 的值。(难度:困难)原题链接:629. K个逆序对数组 - 力扣(LeetCode) (leetcode-cn.com)C++代码:class Solution {pri...原创 2021-11-11 18:36:55 · 454 阅读 · 0 评论 -
LeetCode 力扣每日一题 495. 提莫攻击
原题描述:在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄。他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。当提莫攻击艾希,艾希的中毒状态正好持续duration 秒。正式地讲,提莫在 t 发起发起攻击意味着艾希在时间区间 [t, t + duration - 1](含 t 和 t + duration - 1)处于中毒状态。如果提莫在中毒影响结束 前 再次攻击,中毒状态计时器将会 重置 ,在新的攻击之后,中毒影响将会在 duration 秒后结束。给你一个 非递减 的整数数.原创 2021-11-10 16:31:03 · 1059 阅读 · 0 评论 -
LeetCode 力扣每日一题 488.祖玛游戏
题目描述:你正在参与祖玛游戏的一个变种。在这个祖玛游戏变体中,桌面上有 一排 彩球,每个球的颜色可能是:红色 'R'、黄色 'Y'、蓝色 'B'、绿色 'G' 或白色 'W' 。你的手中也有一些彩球。你的目标是 清空 桌面上所有的球。每一回合:从你手上的彩球中选出 任意一颗 ,然后将其插入桌面上那一排球中:两球之间或这一排球的任一端。接着,如果有出现 三个或者三个以上 且 颜色相同 的球相连的话,就把它们移除掉。如果这种移除操作同样导致出现三个或者三个以上且颜色相同的球相连,则可以继续移原创 2021-11-09 11:31:07 · 2934 阅读 · 0 评论 -
LeetCode 力扣每日一题 299. 猜数字游戏
题目描述:你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下:写出一个秘密数字,并请朋友猜这个数字是多少。朋友每猜测一次,你就会给他一个包含下述信息的提示:猜测数字中有多少位属于数字和确切位置都猜对了(称为 "Bulls", 公牛),有多少位属于数字猜对了但是位置不对(称为 "Cows", 奶牛)。也就是说,这次猜测中有多少位非公牛数字可以通过重新排列转换成公牛数字。给你一个秘密数字secret 和朋友猜测的数字guess ,请你返回对朋友这次猜测的提示。提..原创 2021-11-08 13:08:27 · 162 阅读 · 0 评论 -
LeetCode 力扣每日一题 C++题解 598. 范围求和 II
原题描述:给定一个初始元素全部为0,大小为 m*n 的矩阵M以及在M上的一系列更新操作。操作用二维数组表示,其中的每个操作用一个含有两个正整数a 和 b 的数组表示,含义是将所有符合0 <= i < a 以及 0 <= j < b 的元素M[i][j]的值都增加 1。在执行给定的一系列操作后,你需要返回矩阵中含有最大整数的元素个数。(难度:简单)原题链接:598. 范围求和 II - 力扣(LeetCode) (leetcode-cn.com)...原创 2021-11-07 21:26:28 · 551 阅读 · 0 评论 -
LeetCode 力扣每日一题 C++题解 268丢失的数字
原题描述:给定一个包含[0, n]中n个数的数组nums,找出[0, n]这个范围内没有出现在数组中的那个数。(难度:容易)原题链接:268. 丢失的数字 - 力扣(LeetCode) (leetcode-cn.com)方法一:排序将数组排序之后,即可根据数组中每个下标处的元素是否和下标相等,得到丢失的数字。C++代码:class Solution {public: int missingNumber(vector<int>& nu...原创 2021-11-06 10:38:47 · 130 阅读 · 0 评论 -
LeetCode 力扣C++题解 1218. 最长定差子序列
原题描述:给你一个整数数组arr和一个整数difference,请你找出并返回 arr中最长等差子序列的长度,该子序列中相邻元素之间的差等于 difference 。子序列 是指在不改变其余元素顺序的情况下,通过删除一些元素或不删除任何元素而从 arr 派生出来的序列。(难度:中等)原题链接:1218. 最长定差子序列 - 力扣(LeetCode) (leetcode-cn.com)方法一:动态规划下文为方便叙述将 \textit{difference}difference...原创 2021-11-05 10:19:58 · 290 阅读 · 0 评论 -
LeetCode 力扣C++题解 367. 有效的完全平方数
原题描述:给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。(难度:容易)进阶:不要 使用任何内置的库函数,如sqrt 。原题链接:367. 有效的完全平方数 - 力扣(LeetCode) (leetcode-cn.com)C++代码:class Solution {public: bool isPerfectSquare(int num) { int x = (int) sqrt(...原创 2021-11-04 22:57:29 · 119 阅读 · 0 评论 -
LeetCode 力扣C++题解 407. 接雨水 II
题目描述:给你一个m x n的矩阵,其中的值均为非负整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水。(难度:困难)原题链接:407. 接雨水 II - 力扣(LeetCode) (leetcode-cn.com)C++代码:typedef pair<int,int> pii;class Solution {public: int trapRainWater(vector<vector<int>>& he..原创 2021-11-03 19:08:58 · 448 阅读 · 0 评论 -
LeetCode 力扣C++题解 237. 删除链表中的节点
题目描述:请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点head ,只能直接访问 要被删除的节点 。(难度:简单)题目数据保证需要删除的节点 不是末尾节点 。原题链接:237. 删除链表中的节点 - 力扣(LeetCode) (leetcode-cn.com)C++代码:class Solution {public: void deleteNode(ListNode* node) { node-&..原创 2021-11-02 11:16:21 · 121 阅读 · 0 评论 -
LeetCode 力扣C++题解 575. 分糖果
题目描述:给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。(难度:简单)原题链接:575. 分糖果 - 力扣(LeetCode) (leetcode-cn.com)C++代码:class Solution {public: int distributeCandies(vector<int>& candyType) { sor.原创 2021-11-01 12:44:03 · 198 阅读 · 0 评论 -
LeetCode 力扣C++题解 500键盘行
题目描述:给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。(难度:简单)美式键盘 中:第一行由字符 "qwertyuiop" 组成。第二行由字符 "asdfghjkl" 组成。第三行由字符 "zxcvbnm" 组成。方法一:遍历我们为每一个英文字母标记其对应键盘上的行号,然后检测字符串中所有字符对应的行号是否相同。我们可以预处理计算出每个字符对应的行号。遍历字符串时,统一将大写字母转化为小写字母方便计算。.原创 2021-10-31 13:48:18 · 119 阅读 · 0 评论 -
LeetCode 力扣C++题解 260. 只出现一次的数字 III
题目描述:给定一个整数数组nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按任意顺序返回答案。(难度:中等)进阶:你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现?原题链接:260. 只出现一次的数字 III - 力扣(LeetCode) (leetcode-cn.com)方法一:哈希表思路与算法我们可以使用一个哈希映射统计数组中每一个元素出现的次数。在统计完成后,我们对哈希映射进行遍历,将所有只出现了一次的...原创 2021-10-30 10:03:47 · 354 阅读 · 1 评论 -
LeetCode 力扣C++题解 335. 路径交叉
题目链接:335. 路径交叉 - 力扣(LeetCode) (leetcode-cn.com)题目描述:给你一个整数数组 distance 。从 X-Y 平面上的点(0,0)开始,先向北移动 distance[0] 米,然后向西移动 distance[1] 米,向南移动 distance[2] 米,向东移动 distance[3] 米,持续移动。也就是说,每次移动后你的方位会发生逆时针变化。判断你所经过的路径是否相交。如果相交,返回 true ;否则,返回 false 。(难度:困难)..原创 2021-10-29 10:15:14 · 197 阅读 · 0 评论 -
LeetCode 力扣题解 869. 重新排序得到 2 的幂
原题链接:869. 重新排序得到 2 的幂 - 力扣(LeetCode) (leetcode-cn.com)题目描述:给定正整数 N,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零。如果我们可以通过上述方式得到2 的幂,返回 true;否则,返回 false。(难度:中等)方法一:搜索回溯 + 位运算将 nn 的十进制表示视作一个字符数组,我们可以枚举该数组的所有排列,对每个不含前导零的排列判断其对应的整数是否为 22 的幂。这可以拆分成两个子问题:枚..原创 2021-10-28 13:37:24 · 301 阅读 · 0 评论 -
LeetCode 301——删除无效的括号
原题链接:力扣题目描述:给你一个由若干括号和字母组成的字符串s,删除最小数量的无效括号,使得输入的字符串有效。返回所有可能的结果。答案可以按任意顺序返回。(困难)背景知识有效的「括号」:题目输入的字符串由一系列「左括号」和「右括号」组成,但是有一些额外的括号,使得括号不能正确配对。对于括号配对规则如果还不太清楚的读者,可以先完成问题「20. 有效的括号」。可以一次遍历计算出多余的「左括号」和「右括号」:根据括号匹配规则和根据求解「22. 括号生成」的经验,我们知道:如果当...原创 2021-10-27 17:59:30 · 117 阅读 · 0 评论