本文最后更新于635 天前,其中的信息可能已经过时,如有错误请发送邮件到tomding1065@gmail.com
题目链接:https://leetcode.cn/problems/remove-element/
文章讲解:https://programmercarl.com/0027.%E7%A7%BB%E9%99%A4%E5%85%83%E7%B4%A0.html
视频讲解:https://www.bilibili.com/video/BV12A4y1Z7LP
1.这个题我拿到手里其实就想到是双指针啦,因为毕竟刚做完27嘛,所以印象听深刻的,希望下一轮再做这个数组的题的时候自己也能一下就想到。
2.这个题对我来说的难点其实就是在于我没想到就是负数平方可能比整数那边的大的问题,挺考验我这个思路的转变的,想了挺久的,看了看代码也是弄明白了。
CPP
class Solution {
public:
vector<int> sortedSquares(vector<int>& nums) {
int i = 0;
vector<int>res(size(nums),0);
int k = size(nums)-1;
for(int j = size(nums)-1;j >=i; ){
if(nums[i]*nums[i]<nums[j]*nums[j]){
res[k] = nums[j]*nums[j];
k--;
j--;
}else{
res[k] = nums[i]*nums[i];
k--;
i++;
}
}
return res;
}
};