今天是数组部分part2,数组也在今天结束,本来昨天的拓展题目里面就有977题,但是我因为没时间就没写完,刚好今天也要继续做。
977.有序数组的平方
- 刚看到题目时,除了想到暴力排序法,用双指针没什么,因此直接看解析了
- 看到解析后发现,我太执着于不占用额外空间了,希望在不额外使用空间的情况下结题,但是实际是需要占用的,这样就很简单了
- 双指针,两个指针分别从两端向内移动,大的放在新vector最后,所有情况都适用
209.长度最小的子数组
- 一次写对,注意思路
- 我和代码随想录总是在双指针的思路相反,
for(更新)
我总是喜欢以更新left更新为主,更新right为辅,而代码随想录则是以更新right为主;在while(循环条件)
的循环条件上,我总是喜欢以不满足题目要求为循环条件,而代码随想录喜欢以满足要求为循环条件。 - 思路是滑动窗口,用双指针调节窗口的起始位置。
拓展题目
- 904.水果成篮,做了很久也没对
-
- 最小覆盖子串,没写
59.螺旋矩阵②
- 一次写对,首先要用数学分析螺旋的规律
- 每一边在赋值时注意左右区间开闭的规律
- 注意n为奇数偶数时的差异。
- 用vector定义一个二维数组:
vector<vector<int>> matrix(n, vector<int>(n, 0))
拓展题目
- 54.螺旋矩阵:给的是m*n矩阵,因此要注意怎么处理中间最后几个
- 剑指offer29.顺时针打印矩阵,还没来得及做