977. 有序数组的平方
题目链接
思路
本题一看题目是能想到用双指针法的,但是对于一些细节把握不到位,导致没直接做出来。即对于判断到左右两个数值相等的情况,不需要考虑同时移动两个指针,只需要移动其中一个,而另一个指针的数值依旧是存在原数组中(也没有丢失)的。
本人题解
(不建议参考此题解)
class Solution {
public:
vector<int> sortedSquares(vector<int>& nums) {
int n = nums.size();
vector<int> res(n);
for (int i = 0; i < n; i++) {
nums[i] = nums[i] * nums[i];
}
int left = 0;
int right = n - 1;
for (int j = right; j > 0, left <= right; j--) {
if (nums[left] < nums[right]) {
res[j] = nums[right];
right--;
continue;
}
else if (nums[left] > nums[right]) {
res[j] = nums[left];
left++;
continue;
}else {//如果要求加上“不重复”这个条件,此处就不一样了!!
res[j] = nums[right];//两个数
right--;
//left++;
continue;//该if分支其实可以合并到其他分支当中
}
}
return res;
}
};
209. 长度最小的子数组
题目链接
思路
想到了双指针组成滑动窗口的解题思路,但是不懂具体实现代码如何写。
本人题解
看完代码随想录视频和文字版题解做的。
59.螺旋矩阵II
题目链接
思路
本题对于模拟的思路不清晰,没有想到要坚持循环过程中的坚持循环不变量的原则,也没有想到一个while循环包着4个for循环的解题方向。
本人题解
无

被折叠的 条评论
为什么被折叠?



