
LeetCode
ChenyutingZJU
这个作者很懒,什么都没留下…
展开
-
567. 字符串的排列
567. 字符串的排列题目描述给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。示例1:输入: s1 = “ab” s2 = “eidbaooo”输出: True解释: s2 包含 s1 的排列之一 (“ba”).示例2:输入: s1= “ab” s2 = “eidboaoo”输出: Fa...原创 2019-05-22 22:30:36 · 244 阅读 · 0 评论 -
575. 分糖果
575. 分糖果题目描述给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。示例 1:输入: candies = [1,1,2,2,3,3]输出: 3解析: 一共有三种种类的糖果,每一种都有两个。最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获...原创 2019-05-18 17:38:47 · 175 阅读 · 0 评论 -
576. 出界的路径数
576. 出界的路径数题目描述给定一个 m × n 的网格和一个球。球的起始坐标为 (i,j) ,你可以将球移到相邻的单元格内,或者往上、下、左、右四个方向上移动使球穿过网格边界。但是,你最多可以移动 N 次。找出可以将球移出边界的路径数量。答案可能非常大,返回 结果 mod 109 + 7 的值。示例 1:输入: m = 2, n = 2, N = 2, i = 0, j = 0输出:...原创 2019-05-18 16:54:15 · 192 阅读 · 0 评论 -
581.最短无序连续子数组
581.最短无序连续子数组题目描述给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。你找到的子数组应是最短的,请输出它的长度。示例 1:输入: [2, 6, 4, 8, 10, 9, 15]输出: 5解释: 你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。说明 :输入的数组长度范...原创 2019-05-18 16:29:57 · 146 阅读 · 0 评论 -
583. 两个字符串的删除操作
583. 两个字符串的删除操作题目描述给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。示例 1:输入: “sea”, “eat”输出: 2解释: 第一步将"sea"变为"ea",第二步将"eat"变为"ea"说明:给定单词的长度不超过500。给定单词中的字符只含有小写字母。解题思...原创 2019-05-18 16:06:55 · 138 阅读 · 0 评论 -
590.N叉树的后序遍历
590.N叉树的后序遍历题目描述给定一个 N 叉树,返回其节点值的后序遍历。例如,给定一个 3叉树 :返回其后序遍历: [5,6,3,2,4,1].解题思路按照左右根的顺序访问节点class Solution {public: vector<int> postorder(Node* root) { post(root); ...原创 2019-05-16 23:00:17 · 136 阅读 · 0 评论 -
593.有效的正方形
593.有效的正方形题目描述给定二维空间中四点的坐标,返回四点是否可以构造一个正方形。一个点的坐标(x,y)由一个有两个整数的整数数组表示。示例:输入: p1 = [0,0], p2 = [1,1], p3 = [1,0], p4 = [0,1]输出: True注意:所有输入整数都在 [-10000,10000] 范围内。一个有效的正方形有四个等长的正长和四个等角(90度角...原创 2019-05-15 23:39:53 · 242 阅读 · 0 评论 -
594.最长和谐子序列
594.最长和谐子序列题目描述和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度。示例 1:输入: [1,3,2,2,5,2,3,7]输出: 5原因: 最长的和谐数组是:[3,2,2,2,3].解题思路用map存储数字及其个数和谐数组中元素差不超过1,所以遍历map中的每个元素,判断m...原创 2019-05-14 00:09:55 · 143 阅读 · 0 评论 -
598.范围求和Ⅱ
598.范围求和Ⅱ给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。在执行给定的一系列操作后,你需要返回矩阵中含有最大整数的元素个数。示例 ...原创 2019-05-12 21:47:59 · 129 阅读 · 0 评论 -
599.两个列表的最小索引总和
599.两个列表的最小索引总和题目描述假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。示例 1:输入:[“Shogun”, “Tapioca Express”, “Burger King”...原创 2019-05-07 23:55:59 · 217 阅读 · 0 评论 -
15.三数之和
15.三数之和题目描述给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]解题思路...原创 2019-05-02 21:18:51 · 115 阅读 · 0 评论 -
14.最长公共前缀
14.最长公共前缀题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。C++先进行判空操作取第一个字符串作为基准,将之后的字符串的每...原创 2019-05-02 14:37:33 · 150 阅读 · 0 评论 -
13.罗马数字转整数
13.罗马数字转整数题目描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 ...原创 2019-04-30 17:27:18 · 124 阅读 · 0 评论 -
12.整数转罗马数字
12.整数转罗马数字题目描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 ...原创 2019-04-30 17:12:37 · 181 阅读 · 0 评论 -
11.盛水最多的容器
11.盛水最多的容器题目描述给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。示例:输入: [1,8,6,2,5,4,8,3,7]输出: 49...原创 2019-04-29 20:56:46 · 166 阅读 · 0 评论 -
10.正则表达式匹配
10.正则表达式匹配给定一个字符串 (s) 和一个字符模式 §。实现支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符。‘*’ 匹配零个或多个前面的元素。匹配应该覆盖整个字符串 (s) ,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例 1:输入:s = “aa...原创 2019-04-29 20:26:38 · 300 阅读 · 0 评论 -
9.回文数
9.回文数题目描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不...原创 2019-04-21 17:15:56 · 169 阅读 · 0 评论 -
7.整数反转
7.整数反转题目描述给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回...原创 2019-04-19 14:32:51 · 120 阅读 · 0 评论 -
6.Z字形变换
6.Z字形变换题目描述将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串...原创 2019-04-18 14:41:18 · 158 阅读 · 0 评论 -
5.最长回文子串
5.最长回文子串题目描述给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”C++动态规划,dp[i][j]表示从i到j的是否是回文串dp[i][j]的状态可以通过dp[i+1][j-1]是否为回...原创 2019-04-18 11:37:20 · 145 阅读 · 0 评论 -
3.无重复字符的最长子串
3.无重复字符的最长子串题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb” 输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb” 输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew” 输出: 3解释...原创 2019-04-16 16:24:56 · 97 阅读 · 0 评论 -
2.两数相加
2.两数相加题目描述给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -...原创 2019-04-15 22:41:50 · 172 阅读 · 0 评论 -
1.两数之和
1.两数之和题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解...原创 2019-04-14 23:24:38 · 102 阅读 · 0 评论