![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
EggyGeDan
这个作者很懒,什么都没留下…
展开
-
map对于leetcode的第一题解答
题目描述:Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use th...转载 2018-12-28 10:28:11 · 122 阅读 · 0 评论 -
Leetcode27. 移除元素
给定一个数组 nums和一个值 val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的...原创 2019-06-25 15:58:01 · 107 阅读 · 0 评论 -
Leetcode209. 长度最小的子数组
给定一个含有n个正整数的数组和一个正整数s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组[4,3]是该条件下的长度最小的连续子数组。简析: 就是设置两个指针,从左到右,每次找到合适的和之前的比较,如果比之前的小的话就存起来,直到两个...原创 2019-06-26 10:32:06 · 300 阅读 · 0 评论 -
Leetcode119. 杨辉三角 II
给定一个非负索引k,其中 k≤33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 3输出: [1,3,3,1]就是每次对一行进行重新计算,从最右边开始,这样不会覆盖。class Solution {public: vector<int> getRow(int rowIndex) { ...原创 2019-06-26 12:43:02 · 291 阅读 · 0 评论 -
Leetcode46. 全排列
给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]简析:这道题看上去需要重复的规律性的操作,所以需要利用到递归,并且是DFS,每次生成一个排列组合之后,就需要将倒数第一个第二个或者更多依次退出。又因为每个位置...原创 2019-07-01 19:03:53 · 95 阅读 · 0 评论 -
Leetcode829. 连续整数求和
给定一个正整数 N,试求有多少组连续正整数满足所有数字之和为 N?示例 1:输入: 5输出: 2解释: 5 = 5 = 2 + 3,共有两组连续整数([5],[2,3])求和后为 5。示例 2:输入: 9输出: 3解释: 9 = 9 = 4 + 5 = 2 + 3 + 4示例 3:输入: 15输出: 4解释: 15 = 15 = 8 + 7 = 4 + 5 +...原创 2019-07-02 10:52:29 · 849 阅读 · 0 评论 -
Leetcode733. 图像渲染
有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。给你一个坐标 (sr, sc) 表示图像渲染开始的像素值(行 ,列)和一个新的颜色值 newColor,让你重新上色这幅图像。为了完成上色工作,从初始坐标开始,记录初始坐标的上下左右四个方向上像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应四个方向上像素值与...原创 2019-07-02 16:29:52 · 378 阅读 · 0 评论 -
Leetcode724. 寻找数组的中心索引
给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出: 3解释:索引3 (nums...原创 2019-06-24 12:48:01 · 189 阅读 · 0 评论 -
Leetcode747. 至少是其他数字两倍的最大数
在一个给定的数组nums中,总是存在一个最大元素 。查找数组中的最大元素是否至少是数组中每个其他数字的两倍。如果是,则返回最大元素的索引,否则返回-1。示例 1:输入: nums = [3, 6, 1, 0]输出: 1解释: 6是最大的整数, 对于数组中的其他整数,6大于数组中其他元素的两倍。6的索引是1, 所以我们返回1.示例 2:输入: nums...原创 2019-06-24 13:20:55 · 76 阅读 · 0 评论 -
Leetcode498. 对角线遍历
给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。示例:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,4,7,5,3,6,8,9]简析:就是斜着输出,遇到边界转弯。往右上走的先考虑往右再考虑往下,往右下走的先考虑往下再考虑...原创 2019-06-24 14:20:04 · 244 阅读 · 0 评论 -
Leetcode54. 螺旋矩阵
给定一个包含m x n个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例2:输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12]]...原创 2019-06-24 16:13:20 · 70 阅读 · 0 评论 -
Leetcode151. 翻转字符串里的单词
给定一个字符串,逐个翻转字符串中的每个单词。示例 1:输入: "the sky is blue"输出: "blue is sky the"示例 2:输入: " hello world! "输出: "world! hello"解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例 3:输入: "a good example"输出:...原创 2019-06-27 13:02:59 · 132 阅读 · 0 评论 -
Leetcode394. 字符串解码
给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[...原创 2019-07-03 09:49:11 · 552 阅读 · 0 评论 -
Leetcode557.反转字符串中的单词 III
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例1:输入: "Let's take LeetCode contest"输出: "s'teL ekat edoCteeL tsetnoc"简析:就是每次遇到空格或者到最后一个字后,将每一个部分的单词反转,然后再叠加。class Solution {public: str...原创 2019-07-03 11:08:58 · 87 阅读 · 0 评论 -
Leetcode509.斐波那契数
斐波那契数,通常用F(n) 表示,形成的序列称为斐波那契数列。该数列由0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0, F(1)= 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.给定N,计算F(N)。示例 1:输入:2输出:1解释:F(2) = F(1) + F(0) = 1 +...原创 2019-07-03 11:58:05 · 396 阅读 · 0 评论 -
Leetcode.779第K个语法符号
在第一行我们写上一个 0。接下来的每一行,将前一行中的0替换为01,1替换为10。给定行数N和序数 K,返回第 N 行中第 K个字符。(K从1开始)例子:输入: N = 1, K = 1输出: 0输入: N = 2, K = 1输出: 0输入: N = 2, K = 2输出: 1输入: N = 4, K = 5输出: 1解释:第一行: 0第二行: 0...原创 2019-07-03 19:24:18 · 942 阅读 · 0 评论 -
Leetcode16.最接近的三数之和
给定一个包括n 个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).简析:先排序,然后先从左到右确定...原创 2019-07-03 20:17:56 · 124 阅读 · 0 评论 -
Leetcode485. 最大连续1的个数
给定一个二进制数组, 计算其中最大连续1的个数。示例 1:输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.简析:这道题主要是找出0的位置,然后算相邻0之间的间隔或者以及到两边的距离,找出最大的就可以。class Solution {public: int findMaxConsecutiveO...原创 2019-06-25 15:02:28 · 184 阅读 · 0 评论 -
Leetcode167. 两数之和 II - 输入有序数组
给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1必须小于index2。说明:返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15]...原创 2019-06-25 10:33:09 · 104 阅读 · 0 评论 -
leetcode747
In a given integer array nums, there is always exactly one largest element.Find whether the largest element in the array is at least twice as much as every other number in the array.If it is, retu...原创 2018-12-29 09:36:07 · 125 阅读 · 0 评论 -
Leetcode1. Two Sum
Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the same ...原创 2019-03-18 21:02:20 · 64 阅读 · 0 评论 -
Leetcode30. Substring with Concatenation of All Words
You are given a string, s, and a list of words, words, that are all of the same length. Find all starting indices of substring(s) in s that is a concatenation of each word in words exactly once and wi...原创 2019-04-02 09:43:14 · 113 阅读 · 0 评论 -
Leetcode121.Best Time to Buy and Sell Stock
Say you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transaction (i.e., buy one and sell one share of the stock),...原创 2019-04-02 15:31:17 · 128 阅读 · 0 评论 -
Leetcode438. 找到字符串中所有字母异位词
给定一个字符串s和一个非空字符串p,找到s中所有是p的字母异位词的子串,返回这些子串的起始索引。字符串只包含小写英文字母,并且字符串s和 p的长度都不超过 20100。说明:字母异位词指字母相同,但排列不同的字符串。 不考虑答案输出的顺序。示例1:输入:s: "cbaebabacd" p: "abc"输出:[0, 6]解释:起始索引等于 0...原创 2019-04-26 16:00:15 · 283 阅读 · 0 评论 -
Leetcode33. 搜索旋转排序数组
假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是O(logn) 级别。示例 1:输入: nums = [4,5,6,7,0,1,2...原创 2019-04-26 20:06:30 · 68 阅读 · 0 评论 -
Leetcode31. Next Permutation
Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.If such arrangement is not possible, it must rearrange it as the lowest possible o...原创 2019-04-18 11:51:23 · 104 阅读 · 0 评论 -
Leetcode169. 求众数
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例1:输入: [3,2,3]输出: 3示例2:输入: [2,2,1,1,1,2,2]输出: 2简析:这道题有很多的做法,不过有个空间是O(1)和时间是O(n)的做法,因为根据题意这里的众数是至少有一半的数,所以...原创 2019-04-23 20:19:50 · 72 阅读 · 0 评论 -
Leetcode240. 搜索二维矩阵 II
编写一个高效的算法来搜索mxn矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。 每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 1...原创 2019-04-23 20:38:25 · 93 阅读 · 0 评论 -
Leetcode887. 鸡蛋掉落
你将获得K个鸡蛋,并可以使用一栋从1到N共有 N层楼的建筑。每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。你知道存在楼层F ,满足0 <= F <= N 任何从高于 F的楼层落下的鸡蛋都会碎,从F楼层或比它低的楼层落下的鸡蛋都不会破。每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层X扔下(满足1 <= X...原创 2019-04-24 20:04:41 · 1141 阅读 · 0 评论 -
Leetcode50. Pow(x, n)
实现pow(x, n),即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例2:输入: 2.10000, 3输出: 9.26100示例3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 <x< 10...原创 2019-04-24 20:26:15 · 116 阅读 · 0 评论 -
Leetcode60. 第k个排列
给出集合[1,2,3,…,n],其所有元素共有n! 种排列。按大小顺序列出所有排列情况,并一一标记,当n = 3 时, 所有排列如下:"123" "132" "213" "231" "312" "321"给定n 和k,返回第k个排列。说明:给定 n的范围是 [1, 9]。 给定 k的范围是[1, n!]。示例1:输入: n = 3, k ...原创 2019-04-24 21:12:47 · 89 阅读 · 0 评论 -
Leetcode114. 二叉树展开为链表
给定一个二叉树,原地将它展开为链表。例如,给定二叉树 1 / \ 2 5 / \ \3 4 6将其展开为:1 \ 2 \ 3 \ 4 \ 5 \ 6简析:这道题主要是考递归。一般树的问题本身给出的函数就是一个递归的函数,只要研究出...原创 2019-05-29 15:43:52 · 72 阅读 · 0 评论 -
Leetcode105. 从前序与中序遍历序列构造二叉树
根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder =[3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7 简析:主要是通过前序和中序来构造树,也是用递归的方法,选定各个节点...原创 2019-05-29 16:26:02 · 94 阅读 · 0 评论 -
Leetcode67. 二进制求和
给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010", b = "1011"输出: "10101"简析:就是每次把最后两位相加,再加上上次剩下来的进位,然后对2取余添加到最后的输出上,因为用了push_back所以...原创 2019-06-25 09:29:57 · 65 阅读 · 0 评论 -
Leetcode561. 数组拆分 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).简析:就是简单的排序,然后每隔两个相加输出...原创 2019-06-25 10:20:03 · 79 阅读 · 0 评论 -
Leetcode11.盛最多水的容器
给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(...原创 2019-07-03 20:44:04 · 112 阅读 · 0 评论