// O(n)
class Solution {
public:
vector<int> sortedSquares(vector<int>& nums) {
int i = 0;
int j = nums.size() - 1; //双指针,从远端比较两个绝对值最大的数,最大的倒序放进result数组
vector<int> result(nums.size());
int k = nums.size() - 1;
while(i <= j){
if(pow(nums[i], 2) > pow(nums[j], 2)){
result[k--] = pow(nums[i], 2);
i ++;
}else{
result[k--] = pow(nums[j], 2);
j --;
}
}
return result;
}
};
<Talk is cheap, show me the code 30> LeetCode.977 有序数组的平方
最新推荐文章于 2024-09-10 23:34:31 发布