![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题
cun0213
这个作者很懒,什么都没留下…
展开
-
203. 移除链表元素
给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val == val的节点,并返回新的头节点。 ------------------------------------------------------------------------------------------------------------------------------ 递归过程: 首先对除了头节点 head 以外的节点进行删除操作,然后判断head 的节点值是否等于给定的 va...原创 2021-11-15 20:38:15 · 391 阅读 · 0 评论 -
209. 长度最小的子数组
给定一个含有n个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组[numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 -----------------------------------------------------------------------------------------------------------------------...原创 2021-11-11 10:05:23 · 97 阅读 · 0 评论 -
27. 移除元素
给你一个数组 nums和一个值 val,你需要 原地 移除所有数值等于val的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素 ------------------------------------------------------------------------------------------------------------ 1.这里说的不需要考虑数组...原创 2021-11-09 21:24:59 · 3860 阅读 · 0 评论 -
560. 和为 K 的子数组
给你一个整数数组nums和一个整数k,请你统计并返回该数组中和为k的连续子数组的个数。 -------------------------------------------------------------------------------------------------------------------------------- 方法一:如果不要求时间,最简单易懂得方法就是将所有数据从头到尾遍历一遍,再对每个数字的前面或者后面的数组进行遍历,即可得结果。 方法二: 我...原创 2021-11-06 16:32:04 · 72 阅读 · 0 评论 -
238. 除自身以外数组的乘积
给你一个长度为n的整数数组nums,其中n > 1,返回输出数组output,其中 output[i]等于nums中除nums[i]之外其余各元素的乘积。 难点:请不要使用除法,且在O(n) 时间复杂度内完成此题。并且在常数空间内完成,输出数组不被视为额外空间 。 ----------------------------------------------------------------------------------------------------------...原创 2021-11-04 21:46:36 · 47 阅读 · 0 评论 -
334. 递增的三元子序列
给你一个整数数组nums ,判断这个数组中是否存在长度为 3 的递增子序列。 如果存在这样的三元组下标 (i, j, k)且满足 i < j < k ,使得nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。 ----------------------------------------------------------------------------------------------------------...原创 2021-11-04 09:54:35 · 45 阅读 · 0 评论 -
435. 无重叠区间
给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 ------------------------------------------------------------------------------------------------------------------------------- 方法一: 可以先将所有的nn个区...原创 2021-11-03 15:26:24 · 183 阅读 · 0 评论 -
300. 最长递增子序列
给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 (子序列中元素的顺序与原序列中的顺序是相同的) -----------------------------------------------------------------------------------------------------------------.原创 2021-11-03 11:12:02 · 78 阅读 · 0 评论 -
240. 搜索二维矩阵 II
编写一个高效的算法来搜索mxn矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 1.每行的元素从左到右升序排列。 2.每列的元素从上到下升序排列。 --------------------------------------------------------------------------------------------------------------------------------- 方法一:直接暴力遍历 方法二:二分法 lowe...原创 2021-10-29 15:35:43 · 208 阅读 · 0 评论 -
59. 螺旋矩阵 II
给你一个正整数n,生成一个包含1到n2所有元素,且元素按顺时针顺序螺旋排列的n x n正方形矩阵matrix。 ------------------------------------------------------------------------------------------------------------------- 方法1 模拟矩阵的生成。按照要求,初始位置设为矩阵的左上角,初始方向设为向右。若下一步的位置超出矩阵...原创 2021-10-29 10:58:00 · 116 阅读 · 0 评论 -
48. 旋转图像
给定一个 n×n 的二维矩阵matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 ------------------------------------------------------------------------------------------------------------------------- 思路: 对于矩阵中第i行的第j个元素,...原创 2021-10-28 21:28:03 · 50 阅读 · 0 评论 -
119. 杨辉三角 II
给定一个非负索引rowIndex,返回「杨辉三角」的第rowIndex行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 ------------------------------------------------------------------------------------------------------------ 下面两个重要的性质,可以通过3建立相邻两元素的关系式,已知第一个是1,可以借此求出一整行 也可以通过4建立两行之间的关系来求解。 这段代码是将...原创 2021-10-28 20:29:27 · 174 阅读 · 0 评论 -
705. 设计哈希集合
不使用任何内建的哈希表库设计一个哈希集合(HashSet)。 实现 MyHashSet 类: 1.void add(key) 向哈希集合中插入值 key 。 2.bool contains(key) 返回哈希集合中是否存在这个值 key 。 3.void remove(key) 将给定值 key 从哈希集合中删除。如果哈希集合中没有这个值,什么也不做。 ---------------------------------------------------------------------------原创 2021-10-28 13:38:33 · 167 阅读 · 0 评论 -
56. 合并区间
以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。 ------------------------------------------------------------------------------------------------- 思路:先进行排序 如果当前区间的左端点在上一个区间的右端点之后,那么它们不会重合,否则,它们重原创 2021-10-27 13:51:12 · 3103 阅读 · 0 评论 -
75. 颜色分类
给定一个包含红色、白色和蓝色,一共n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、1 和 2 分别表示红色、白色和蓝色。 难点: 1.不使用代码库中的排序函数 2.使用常数空间的一趟扫描算法 ------------------------------------------------------------------------------------- 1.单指针方法是先有一个循环将所有的0排到数组的头部,..原创 2021-10-27 11:03:52 · 66 阅读 · 0 评论 -
15. 三数之和
给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组 ----------------------------------------------------------------- 1.首先要进行排序,方便后续遍历有一个明确的先后顺序,不会出现(b, a, c)(c, b, a)(c,b,a) 这些重复的情况,随后使用普通的三重循环就可以...原创 2021-10-26 21:52:20 · 55 阅读 · 0 评论 -
169. 多数元素
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于⌊ n/2 ⌋的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 (尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题) -------------------------------------------------------------------------------------------- class Solution { public: int ma..原创 2021-10-26 16:32:08 · 54 阅读 · 0 评论 -
136.只出现一次的数字
classSolution{ public: boolcontainsDuplicate(vector<int>&nums){ sort(nums.begin(),nums.end()); intn=nums.size(); for(inti=0;i<n-1;i++) { if(nums[i]==nums[i+1]) { ...原创 2021-10-26 14:53:57 · 44 阅读 · 0 评论