leetcode
zzcblogs
这个作者很懒,什么都没留下…
展开
-
leetcode 76. 最小覆盖子串
自从上班后就没怎么刷过题了,以后考虑更新点技术文章。给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。示例:输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC"说明:如果 S 中不存这样的子串,则返回空字符串 ""。如果 S 中存在这样的子串,我们保证它是唯一的答案。来源:力扣(LeetCode...原创 2020-04-06 21:04:26 · 331 阅读 · 3 评论 -
leetcode。45. 跳跃游戏 II
给定一个非负整数数组,你最初位于数组的首位。数组中的每个元素表示你在该位置的最大跳跃长度。你的目标是用最小跳跃次数到达最后一个索引。例如: 给定一个数组 A = [2,3,1,1,4]跳到最后一个索引的最小跳跃数是 2。(从索引 0 跳到 1 跳1步,然后跳3步到最后一个索引。)注意:假设你总是可以到达最后一个索引位置。一开始以为是dp。。。其实是贪心,每次找范围内index + next最大的索...原创 2018-02-21 20:58:13 · 2735 阅读 · 0 评论 -
leetcode。57. 插入区间
给出一个无重叠的按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例 1:给定区间 [1,3],[6,9],插入并合并 [2,5] 得到 [1,5],[6,9].示例 2:给定区间 [1,2],[3,5],[6,7],[8,10],[12,16],插入并合并 [4,9] 得到 [1,2],[3,10],[12,16]....原创 2018-03-01 11:18:29 · 488 阅读 · 0 评论 -
leetcode 56. 合并区间(贪心)
给出一个区间的集合, 请合并所有重叠的区间。示例:给出 [1,3],[2,6],[8,10],[15,18],返回 [1,6],[8,10],[15,18].贪心,先以start大小排序,这样保证start的是有序的。然后扩张end。代码也很容易理解,复杂度是nlogn/** * Definition for an interval. * struct Interval { * in...原创 2018-03-01 11:20:47 · 1620 阅读 · 0 评论 -
leetcode。 48. 旋转图像
给定一个 n × n 的二维矩阵表示一个图像。将图像旋转 90 度(顺时针)。注意:你必须在原矩阵中旋转图像,请不要使用另一个矩阵来旋转图像。例 1:给出的输入矩阵 = [ [1,2,3], [4,5,6], [7,8,9]],旋转输入矩阵,使其变为 :[ [7,4,1], [8,5,2], [9,6,3]] 例 2:给出的输入矩阵 =[ [ 5, 1,...原创 2018-02-22 15:14:51 · 1335 阅读 · 0 评论 -
leetcode 49. 字谜分组
给定一个字符串数组,将相同字谜组合在一起。(字谜是指颠倒字母顺序而成的字)例如,给定 ["eat", "tea", "tan", "ate", "nat", "bat"],返回:[ ["ate", "eat","tea"], ["nat","tan"], ["bat&q原创 2018-02-22 15:34:38 · 2151 阅读 · 0 评论 -
leetcode 98. 验证二叉搜索树
给定一个二叉树,判断其是否是一个有效的二叉搜索树。一个二叉搜索树有如下定义:左子树只包含小于当前节点的数。右子树只包含大于当前节点的数。所有子树自身必须也是二叉搜索树。示例 1: 2 / \ 1 3二叉树[2,1,3], 返回 true.示例 2: 1 / \ 2 3二叉树 [1,2,3], 返回 false.啊我有点蠢了。。中序遍历做/** * De...原创 2018-03-10 22:08:54 · 1455 阅读 · 0 评论 -
leetcode 63. 不同路径 II dp
这是“不同路径” 的进阶问题:现在考虑网格中有障碍物。那样将会有多少条不同的路径从左上角到右下角?网格中的障碍物和空位置分别用 1 和 0 来表示。例如,如下所示在 3x3 的网格中有一个障碍物。[ [0,0,0], [0,1,0], [0,0,0]]一共有 2 条不同的路径从左上角到右下角。注意: m 和 n 的值均不超过 100。i == 1 && j == 1...原创 2018-03-04 13:29:07 · 1217 阅读 · 0 评论 -
leetcode 66. 加一
给定一个非负整数组成的非空数组,给整数加一。可以假设整数不包含任何前导零,除了数字0本身。最高位数字存放在列表的首位。emmmclass Solution {public: vector<int> plusOne(vector<int>& digits) { int len = digits.size(); dfs(digi...原创 2018-03-04 22:19:02 · 663 阅读 · 0 评论 -
leetcode。 44. 通配符匹配
实现一个支持 '?' 和 '*' 的通配符匹配。'?' 匹配任何单个字符。'*' 匹配任何数量的字符 (包括0个)。匹配应覆盖 整个 输入字符串(而不是部分)。这个函数原型为:bool isMatch(const char *s, const char *p)示例:isMatch("aa","a") → falseisMatch("aa","aa") → trueisMatc...原创 2018-02-21 20:56:19 · 431 阅读 · 0 评论 -
leetcode 43. 字符串相乘
给定两个以字符串表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积。注意:num1 和 num2 的长度均小于110。num1 和 num2 均只包含数字 0-9。num1 和 num2 均不以零开头。你不能使用任何内置的大整数库或直接将输入转换为整数。string BigNumMultiply(string str1,string str2) { if (str...原创 2018-02-20 23:05:23 · 2312 阅读 · 0 评论 -
leetcode 42. 接雨水
给 n 个非负整数表示每个宽度为一的柱子的高度图,计算下雨之后能接多少水。例如,输入 [0,1,0,2,1,0,1,3,2,1,2,1],返回 6。上面的高度图由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示,在这种情况下,可以接 6 个单位的雨水(蓝色部分)。 感谢 Marcos 贡献此图。木桶原理,盛的水取决于最短板。。。我们设置两个指针从左右两端开始向中间靠拢。。。我们根据短...原创 2018-02-20 18:28:53 · 4015 阅读 · 0 评论 -
leetcode 25. Reverse Nodes in k-Group
Given a linked list, reverse the nodes of a linked list k at a time and return its modified list.k is a positive integer and is less than or equal to the length of the linked list. If the number of原创 2017-09-05 21:34:13 · 211 阅读 · 0 评论 -
10. Regular Expression Matching (dp)
Implement regular expression matching with support for '.' and '*'.'.' Matches any single character.'*' Matches zero or more of the preceding element.The matching should cover the entire input st原创 2017-08-30 10:12:10 · 277 阅读 · 0 评论 -
leet code. 15. 3Sum (暴力???)
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note: The solution set must not contain d原创 2017-08-31 18:57:55 · 327 阅读 · 0 评论 -
leetcode 36. Valid Sudoku
啊,我还以为求数独呢,原来是求当前的是否符合数独的规范。。那就横、竖、小九宫格分别判断是否有相同的呗。class Solution {public: bool isValidSudoku(vector>& board) { unordered_map row, col, all; for (int i = 0; i < 9; ++i) {原创 2018-01-12 18:52:36 · 200 阅读 · 0 评论 -
leetcode 37 sudoku solver
emmm暴力dfs。。。真的爆力class Solution {public: bool isValidSudoku(vector>& board, int x,int y) { int i, j; for (i = 0; i if (i != x && board[i][y] ==原创 2018-01-28 20:05:09 · 204 阅读 · 0 评论 -
leetcode。 39. Combination Sum
又是dfs水题。class Solution {public: vector temp; void dfs(vector>& res, vector& candidates, int sum, int pos, int target) { if (sum == target) { res.push_back(temp);原创 2018-01-28 21:14:16 · 193 阅读 · 0 评论 -
leetcode 40. Combination Sum II
39的加强版。。。直接用了stl的sort 跟 unique.不要在意复杂度(逃class Solution {public: vector temp; void dfs(vector>& res, vector& candidates, int sum, int pos, int target) { if (sum == target) {原创 2018-01-28 21:23:09 · 175 阅读 · 0 评论 -
leetcode 69. x 的平方根
实现 int sqrt(int x) 函数。计算并返回 x 的平方根。x 保证是一个非负整数。 案例 1:输入: 4输出: 2案例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于我们想返回一个整数,小数部分将被舍去。二分经典题目。class Solution {public: int mySqrt(int x) { long long le...原创 2018-03-07 11:06:01 · 442 阅读 · 0 评论 -
leetcode 22. Generate Parentheses (暴力递归)
Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a solution set is:[ "((()))", "(()())", "(())()", "()(())",原创 2017-09-05 15:44:09 · 271 阅读 · 0 评论