本文主要是介绍代码随想录:977. 有序数组的平方,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
977. 有序数组的平方
法一:用函数sort来写
class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {for(auto &i:nums)i*=i;sort(nums.begin(),nums.end());return nums;}
};
法二:双指针
因为原数组有序,所以我们用双指针遍历两边,把大的平方放入答案里面即可
class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {int n = nums.size();vector<int> ant(n);for (int i = 0, j = n - 1, k = n - 1; i <= j; k--) {if (nums[i] * nums[i] > nums[j] * nums[j]) {ant[k] = nums[i] * nums[i];i++;} else {ant[k] = nums[j] * nums[j];j--;}}return ant;}
};
这篇关于代码随想录:977. 有序数组的平方的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!