
leetcode
文章平均质量分 58
立冲君也
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode - 59.螺旋矩阵II
来源:59.螺旋矩阵II 题目: 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 输入:n = 3 输出:[[1,2,3],[8,9,4],[7,6,5]] 关键点: 循环不变量原则,其实就是左右开闭的问题,如果左闭右开就是左边开始是算数的,右边是不算数的,刚好这点在for循环里可以体现出来,比如 for(int i = 0; i<2; i++) ,则 i=0是算数的为第一个,然后是 i = 1也算数,而 i原创 2022-01-08 23:55:17 · 176 阅读 · 0 评论 -
LeetCode - 209.长度最小的子数组
题目 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。 示例: 输入:s = 7, nums = [2,3,1,2,4,3] 输出:2 解释:子数组 [4,3] 是该条件下的长度最小的子数组。 关键点 用滑动窗口的思想,左右两个指针滑动,刚开始两个指针都放在最前面,然后右指针往右划,划到满足数组和sum>=target为止,此时记录一次最小长度。 当记录一次最小长度以后,左指针也往右滑,原创 2022-01-06 23:04:37 · 106 阅读 · 0 评论 -
LeetCode - 977.有序数组的平方
又是一道双指针的题目,上一篇的双指针是快指针赋值给慢指针(快慢指针赋值),现在这篇是首尾两指针相互比较后,取大的赋值给新的数组。 话不多说,上号: 977.有序数组的平方 题目 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100],排序后,数组变为 [0,1,9,16,100] 示例 2: 输入:原创 2022-01-05 23:07:00 · 474 阅读 · 0 评论 -
LeetCode 27.移除元素【快慢指针】
原题链接:移除元素 对于初学者看不懂的可以看视频讲解,强推Leetcode 27 移除元素 【快慢指针】 个人觉得B站视频的解法更直观理解,虽然本质上都一样。 解题思路 用两个指针,快指针和慢指针。快指针用来快速扫描数组元素判断数组元素是否等于val,慢指针用来计数,即最终返回的数组的长度。 关键思想就是当快指针不等于val的时候,就把快指针的值赋值给慢指针的值,快慢指针同时往前移,此时相当于慢指针是计数有多少个有效值,先赋值一个,再往前移一个,顺序千万不能乱,先赋值再移动! 当快指针遇到连续相等的val原创 2022-01-04 22:40:50 · 449 阅读 · 0 评论 -
LeetCode - 704.二分查找
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4 原题链接: 704.二分查找 ...原创 2022-01-04 20:32:00 · 144 阅读 · 0 评论