![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
文章平均质量分 56
HesseSummer
这个作者很懒,什么都没留下…
展开
-
27.移除元素【数组】
一、题目描述:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并...原创 2018-07-25 01:20:51 · 266 阅读 · 0 评论 -
35.搜索插入位置
一、问题描述略。注意只是返回下标,不改变其他任何。二、思路找到返回位置的特征:target<=该位置的元素。而且,如果没找到,就是n。三、代码呈现class Solution {public: int searchInsert(vector<int>& nums, int target) { int n = nums.s...原创 2018-08-02 23:24:21 · 261 阅读 · 0 评论 -
9.回文数
一、题目描述略。注意处理的是一个数字,而不含有其他字符。二、思路当然可以以字符数组的方式存储该整数,然后对比首尾字符判断是否为回文。但是我看到网上有另外的解答方式。将O(n)时间复杂度+O(n)空间复杂度降低到了O(logn)时间复杂度和O(1)空间复杂度。所以我打算使用那个方法。方法就是首次负数不是回文数;非负数可以通过数学方式搞出后面一半,然后和前面一半比较即可。尤...原创 2018-08-02 23:07:56 · 307 阅读 · 0 评论 -
88.合并两个有序数组
一、问题描述略。知道是在nums1上变动。二、思路如果从nums1的头部开始放,就会出现nums1紧接着的第一个元素还没有nums2从头数第二个元素小的情形,这样就没有办法比较了。而从nums1的最后一个元素开始放,能够保证nums1和nums2的最后一个元素一定比彼此的倒数第二个元素大。所以选择从nums1的最后一个位置开始放数。且该数一定是从nums1或nums2的没有用到的最...原创 2018-08-02 22:01:25 · 216 阅读 · 0 评论 -
119. 杨辉三角 II
一、问题描述略。注意是用o(k)的空间完成,而不要求时间复杂度(时间复杂度没法再小了应该只能是O(n^2))。二、思路1 1 1 1 2 1 1 3 3 1 这个二维表格,从左往右表示实际题需的Row数组;从上往下表示依据时间进展,不同时刻Row数组的样子。每次形成R...原创 2018-08-02 21:10:03 · 266 阅读 · 0 评论 -
118、杨辉三角
一、题目描述略二、思路分析题目让返回一个二维vector数组,数组存储着杨辉三角。只要根据杨辉三角形的特征生成即可。也就是:行数:numRows;列数:对应行数+1;每行第一个最后一个是1,其他的由上一行的某两个数生成。三、代码呈现class Solution {public: vector<vector<int>> gene...原创 2018-08-02 19:44:54 · 468 阅读 · 0 评论 -
66.加一
一、问题描述略。注意是生成、返回新数组,而不是修改原来的digits。二、思路当然可以先生成一个和digits一样的vector,叫New,然后在New上操作。但是也可以先生成一个全为0的New数组,然后每个元素修改为合理的数值。试一试第二个思路吧。三、代码呈现class Solution {public: vector<int> plusO...原创 2018-08-02 19:06:32 · 145 阅读 · 0 评论 -
80. 删除排序数组中的重复项 II
一、题目描述略二、思路两个游标i、j,一个辅助变量id。 j用来记录元素要复制到的位置:也就是0、1、2、3…… i用来记录哪个元素要进行复制操作,id辅助这一过程。 j很好说,步长为1,直接for循环j++就可以了。 关键是i,关键是哪个元素将要被复制:以nums = [1,1,1,2,2,3]为例,被复制的元素是第一个1,第二个1,第一个2,第二个2,第一个3。也就是重复...原创 2018-08-02 18:07:55 · 402 阅读 · 0 评论 -
26. 删除排序数组中的重复项【数组】
一、题目描述:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。...原创 2018-07-25 19:43:44 · 227 阅读 · 0 评论 -
53.最大子序和
一、问题描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。二、思路两个变量,一个是ans,用来存储、更新子序列;一个maxn,始终保存着当前最大的子序列。子序列更新的方式:当一个...原创 2018-08-03 00:19:08 · 197 阅读 · 0 评论