![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
EasonWEZ
C++
展开
-
【Leetcode】804. 唯一摩尔斯密码词
题目描述:国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: "a" 对应 ".-", "b" 对应 "-...", "c" 对应 "-.-.", 等等。为了方便,所有26个英文字母对应摩尔斯密码表如下:[".-","-...","-.-.","-..","原创 2018-05-17 11:15:50 · 1226 阅读 · 0 评论 -
【Leetcode】182. 查找重复的电子邮箱
题目描述:编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱。示例:+----+---------+| Id | Email |+----+---------+| 1 | a@b.com || 2 | c@d.com || 3 | a@b.com |+----+---------+根据以上输入,你的查询应返回以下结果:+---------+| Email ...原创 2018-05-21 10:24:16 · 1311 阅读 · 0 评论 -
【Leetcode】832. 翻转图像
题目描述:给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。示例 1:输入: [[1,1,0],[1,0,1],[0,0,0]]...原创 2018-05-21 10:35:38 · 1664 阅读 · 0 评论 -
【Leetcode】728. 自除数
题目描述:自除数 是指可以被它包含的每一位数除尽的数。例如,128 是一个自除数,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。还有,自除数不允许包含 0 。给定上边界和下边界数字,输出一个列表,列表的元素是边界(含边界)内所有的自除数。示例 1:输入: 上边界left = 1, 下边界right = 22输出: [1, 2, 3, 4, 5, 6, 7,...原创 2018-05-21 10:47:37 · 279 阅读 · 0 评论 -
【Leetcode】344. 反转字符串
题目描述:请编写一个函数,其功能是将输入的字符串反转过来。示例:输入:s = "hello"返回:"olleh"解题思路:迭代器了解一下^_^(使用迭代器中rbegin和rend)。AC代码:class Solution {public: string reverseString(string s) { string str(s.rbegin(),s.rend());...原创 2018-05-21 10:53:29 · 205 阅读 · 0 评论 -
【LeetCode】771. 宝石与石头
题目描述: 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = "aA", S = "aAAbbbb"输出: 3示例 2:输入: J = "z", S = "ZZ"原创 2018-05-16 11:56:15 · 568 阅读 · 0 评论 -
【LeetCode】657. 判断路线成圈
题目描述:初始位置 (0, 0) 处有一个机器人。给出它的一系列动作,判断这个机器人的移动路线是否形成一个圆圈,换言之就是判断它是否会移回到原来的位置。移动顺序由一个字符串表示。每一个动作都是由一个字符来表示的。机器人有效的动作有 R(右),L(左),U(上)和 D(下)。输出应为 true 或 false,表示机器人移动路线是否成圈。示例 1:输入: "UD"输出: true示例 2:输入:...原创 2018-05-16 15:23:00 · 162 阅读 · 0 评论 -
【LeetCode】595. 大的国家
题目描述:这里有张 World表+-----------------+------------+------------+--------------+---------------+| name | continent | area | population | gdp |+-----------------+-----------...原创 2018-05-16 15:44:12 · 355 阅读 · 0 评论 -
【LeetCode】461. 汉明距离
题目描述:两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。解题思路:简单的10进制数转化为二进制问题...原创 2018-05-16 16:17:28 · 169 阅读 · 0 评论 -
【LeetCode】476. 数字的补数
题目描述:给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。注意:给定的整数保证在32位带符号整数的范围内。你可以假定二进制数不包含前导零位。示例 1:输入: 5输出: 2解释: 5的二进制表示为101(没有前导零位),其补数为010。所以你需要输出2。示例 2:输入: 1输出: 0解释: 1的二进制表示为1(没有前导零位),其补数为0。所以你需要输出0。解题思路:简单的十进制...原创 2018-05-16 16:24:18 · 1090 阅读 · 0 评论 -
【Leetcode】292. Nim游戏
题目描述: 你和你的朋友,两个人一起玩Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入: 4输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1块、...原创 2018-05-28 09:30:58 · 781 阅读 · 0 评论 -
【Leetcode】500. 键盘行
题目描述:给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。示例1:输入: ["Hello", "Alaska", "Dad", "Peace"]输出: ["Alaska", "Dad"]注意:你可以重复使用键盘上同一字符。你可以假设输入的字符串将只包含字母。解题思路:此题抽象出来就是简单的在字符串中查找字符的问题。但是本题有一个关键点,那就是大小写区分原创 2018-05-28 10:02:09 · 772 阅读 · 0 评论 -
【Leetcode】557. 反转字符串中的单词 III
题目描述:给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入: "Let's take LeetCode contest"输出: "s'teL ekat edoCteeL tsetnoc" 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。解题思路:本题有需要解决两个点:1,字符串分割:string好像没有原生的spl...原创 2018-05-28 10:24:07 · 586 阅读 · 0 评论 -
【Leetcode】693. 交替位二进制数
题目描述:给定一个正整数,检查他是否为交替位二进制数:换句话说,就是他的二进制数相邻的两个位数永不相等。示例 1:输入: 5输出: True解释:5的二进制数是: 101示例 2:输入: 7输出: False解释:7的二进制数是: 111示例 3:输入: 11输出: False解释:11的二进制数是: 1011 示例 4:输入: 10输出: True解释:10的二进制...原创 2018-05-28 10:44:09 · 677 阅读 · 0 评论 -
【Leetcode】463. 岛屿的周长
题目描述:给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。示例 ...原创 2018-05-28 10:57:28 · 409 阅读 · 0 评论 -
【Leetcode】617. 合并二叉树
题目描述:给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:输入: Tree 1 Tree 2 1...原创 2018-06-04 14:35:18 · 179 阅读 · 0 评论 -
【Leetcode】226. 翻转二叉树
题目描述:翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1解题思路:递归翻转二叉树(即递归对调同一根结点下的左右子树),只需要注意结点为空时退出就好了。AC代码:/** * Definition for a binary...原创 2018-06-04 16:43:32 · 164 阅读 · 0 评论 -
【Leetcode】561. 数组拆分 I
题目描述:给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。示例 1:输入: [1,4,3,2]输出: 4解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).提示:n 是正整数,范围在 [1, 10000].数组...原创 2018-06-04 16:59:51 · 404 阅读 · 0 评论 -
【Leetcode】371. 两整数之和
题目描述:不使用运算符 + 和-,计算两整数a 、b之和。示例:若 a = 1 ,b = 2,返回 3。解题思路:不用算数运算符求两数之和,加法是二进制位运算实现的,我们可以通过位运算实现。看了一下别人怎么写的(^_^)参考博客:https://blog.csdn.net/Zhang_Yixuan_ss/article/details/80404812AC代码class Solution {pu...原创 2018-06-04 17:14:54 · 1772 阅读 · 1 评论 -
【Leetcode】175. 组合两个表
题目描述:表1: Person+-------------+---------+| 列名 | 类型 |+-------------+---------+| PersonId | int || FirstName | varchar || LastName | varchar |+-------------+---------+Perso...原创 2018-06-13 13:15:56 · 148 阅读 · 0 评论 -
【Leetcode】620. 有趣的电影
题目描述:某城市开了一家新的电影院,吸引了很多人过来看电影。该电影院特别注意用户体验,专门有个 LED显示板做电影推荐,上面公布着影评和相关电影描述。作为该电影院的信息部主管,您需要编写一个 SQL查询,找出所有影片描述为非 boring (不无聊) 的并且 id 为奇数 的影片,结果请按等级 rating 排列。 例如,下表 cinema:+---------+-----------+-----...原创 2018-06-13 13:23:44 · 710 阅读 · 0 评论 -
【Leetcode】627. 交换工资
题目描述:给定一个 salary表,如下所示,有m=男性 和 f=女性的值 。交换所有的 f 和 m 值(例如,将所有 f 值更改为 m,反之亦然)。要求使用一个更新查询,并且没有中间临时表。例如:| id | name | sex | salary ||----|------|-----|--------|| 1 | A | m | 2500 || 2 | B | ...原创 2018-06-13 13:45:37 · 495 阅读 · 0 评论 -
【Leetcode】108. 将有序数组转换为二叉搜索树
题目描述:将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 ...原创 2018-06-13 14:05:08 · 2387 阅读 · 3 评论 -
【Leetcode】669. 修剪二叉搜索树
题目描述:给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。示例 1:输入: 1 / \ 0 2 L = 1 R = 2输出: 1 \ 2示例 2:输入: 3...原创 2018-06-13 14:15:25 · 743 阅读 · 0 评论 -
【Leetcode】104. 二叉树的最大深度
题目描述:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。解题思路:二叉树最大深度为距离根节点的最远叶子结点到根节点的距离+1,所以我只需要递归出最远叶子...原创 2018-06-04 16:49:26 · 544 阅读 · 0 评论 -
【Leetcode】682. 棒球比赛
题目描述:你现在是棒球比赛记录员。给定一个字符串列表,每个字符串可以是以下四种类型之一:1.整数(一轮的得分):直接表示您在本轮中获得的积分数。2. "+"(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。3. "D"(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。4. "C"(一个操作,这不是一个回合的分数):表示您获得的最后一个有效 回合的分数是无效的,应该被移除...原创 2018-06-20 09:07:23 · 410 阅读 · 0 评论 -
【Leetcode】171. Excel表列序号
题目描述:给定一个Excel表格中的列名称,返回其相应的列序号。例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...示例 1:输入: "A"输出: 1示例 2:输入: "AB"输出: 28示例 3:输入: "ZY"输出: 7..原创 2018-06-20 09:27:48 · 443 阅读 · 0 评论 -
【Leetcode】412. Fizz Buzz
题目描述:写一个程序,输出从 1 到 n 数字的字符串表示。1. 如果 n 是3的倍数,输出“Fizz”;2. 如果 n 是5的倍数,输出“Buzz”;3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。示例:n = 15,返回:[ "1", "2", "Fizz", "4", "Buzz", "Fizz", &quo原创 2018-06-20 09:32:35 · 128 阅读 · 0 评论 -
【Leetcode】806. 写字符串需要的行数
题目描述:我们要把给定的字符串 S 从左到右写到每一行上,每一行的最大宽度为100个单位,如果我们在写某个字母的时候会使这行超过了100 个单位,那么我们应该把这个字母写到下一行。我们给定了一个数组 widths ,这个数组 widths[0] 代表 'a' 需要的单位, widths[1] 代表 'b' 需要的单位,..., widths[25] 代表 'z' 需要的单位。现在回答两个问题:至少...原创 2018-06-20 09:42:15 · 289 阅读 · 0 评论 -
【Leetcode】575. 分糖果
题目描述:给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。示例 1:输入: candies = [1,1,2,2,3,3]输出: 3解析: 一共有三种种类的糖果,每一种都有两个。 最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类数...原创 2018-06-20 09:50:11 · 768 阅读 · 0 评论 -
【Leetcode】867. 转置矩阵
题目描述:给定一个矩阵 A, 返回 A 的转置矩阵。矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。示例 1:输入:[[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7],[2,5,8],[3,6,9]]示例 2:输入:[[1,2,3],[4,5,6]]输出:[[1,4],[2,5],[3,6]]提示:1 <= ...原创 2018-07-10 10:52:47 · 1277 阅读 · 2 评论 -
【Leetcode】821. 字符的最短距离
题目描述:给定一个字符串 S 和一个字符 C。返回一个代表字符串 S 中每个字符到字符串 S 中的字符 C 的最短距离的数组。示例 1:输入: S = "loveleetcode", C = 'e'输出: [3, 2, 1, 0, 1, 0, 0, 1, 2, 2, 1, 0]说明:字符串 S 的长度范围为 [1, 10000]。C 是一个单字符,且保证是字符串 S 里的字符。S 和 C 中的...原创 2018-07-10 11:01:38 · 374 阅读 · 0 评论 -
【Leetcode】819. 最常见的单词
题目描述:给定一个段落 (paragraph) 和一个禁用单词列表 (banned)。返回出现次数最多,同时不在禁用列表中的单词。题目保证至少有一个词不在禁用列表中,而且答案唯一。禁用列表中的单词用小写字母表示,不含标点符号。段落中的单词不区分大小写。答案都是小写字母。示例:输入: paragraph = "Bob hit a ball, the hit BALL flew fa...原创 2018-07-17 11:24:14 · 670 阅读 · 0 评论 -
【Leetcode】812. 最大三角形面积
题目描述:给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积。示例:输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]]输出: 2解释: 这五个点如下图所示。组成的橙色三角形是最大的,面积为2。注意:3 <= points.length <= 50. 不存在重复的点。 -50 <= po...原创 2018-11-20 08:35:44 · 203 阅读 · 0 评论 -
【Leetcode】766. 托普利茨矩阵
题目描述:如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵。给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True。示例 1:输入: matrix = [ [1,2,3,4], [5,1,2,3], [9,5,1,2]]输出: True解释:在上述矩阵中, 其对角线为:"[9]", "[5, 5]", "...原创 2018-08-13 14:19:49 · 119 阅读 · 0 评论 -
【Leetcode】762. 二进制表示中质数个计算置位
题目描述:给定两个整数 L 和 R ,找到闭区间 [L, R] 范围内,计算置位位数为质数的整数个数。(注意,计算置位代表二进制表示中1的个数。例如 21 的二进制表示 10101 有 3 个计算置位。还有,1 不是质数。)示例 1:输入: L = 6, R = 10输出: 4解释:6 -> 110 (2 个计算置位,2 是质数)7 -> 111 (3 ...原创 2018-08-13 14:15:21 · 162 阅读 · 0 评论 -
【Leetcode】496. 下一个更大元素 I
题目描述:给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出-1。示例 1:输入: nums1 = [4,1,2], nums2 = [1,3,4,2]....原创 2018-07-10 11:58:05 · 150 阅读 · 0 评论 -
【Leetcode】866. 回文素数
题目描述:求出大于或等于 N 的最小回文素数。回顾一下,如果一个数大于 1,且其因数只有 1 和它自身,那么这个数是素数。例如,2,3,5,7,11 以及 13 是素数。回顾一下,如果一个数从左往右读与从右往左读是一样的,那么这个数是回文数。例如,12321 是回文数。示例 1:输入:6输出:7示例 2:输入:8输出:11示例 3:输...原创 2018-07-10 11:39:59 · 2972 阅读 · 0 评论 -
【Leetcode】1. 两数之和
题目描述:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解题思路:AC代码:class Solution {public: vector<...原创 2018-07-10 11:30:41 · 124 阅读 · 0 评论 -
【Leetcode】852. 山脉数组的峰顶索引
题目描述:我们把符合下列属性的数组 A 称作山脉:A.length >= 3存在 0 < i < A.length - 1 使得A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1]给定一个确定为山脉的数组,返回任何满足 A[0] < A[1] < ... A...原创 2018-06-28 13:32:00 · 343 阅读 · 0 评论