有序数组的平方

暴力排序

每个数平方以后排个序

cpp 复制代码
class Solution {
public:
    vector<int> sortedSquares(vector<int>& nums) {
        int slow=0,fast=0;
        int n=nums.size();
        while(fast<n)
        {
            nums[slow]=nums[fast]*nums[fast];
            fast++;
            slow++;
        }
        sort(nums.begin(),nums.end());
        return nums;
    }
};
cpp 复制代码
class Solution {
public:
    vector<int> sortedSquares(vector<int>& nums) {
        for(int i=0;i<nums.size();i++)
        {
            nums[i]*=nums[i];
        }
        sort(nums.begin(),nums.end());
        return nums;
    }
};

双指针

cpp 复制代码
class Solution {
public:
    vector<int> sortedSquares(vector<int>& nums) {
        int n=nums.size()-1;
        vector<int>result(nums.size(),0);
        for(int i=0,j=nums.size()-1;i<=j;)
        {
            if(nums[i]*nums[i]<nums[j]*nums[j])
            {
                result[n]=nums[j]*nums[j];
                n--;
                j--;                
            }
            else
            {
                result[n]=nums[i]*nums[i];
                n--;
                i++;
            }            
        }
    return result;
    }
};

定义与初始化的使用

1.函数内部需要存储一些数据时。

2.算法实现中构建数据结构。

3.从外部数据源读取数据时。

4.作为函数参数传递数据结构时

**vector<int>result(nums.size,0):**将nums.size()中的所有元素初始化为0。

相关推荐
mit6.8245 小时前
bfs|栈
算法
CoderYanger6 小时前
优选算法-栈:67.基本计算器Ⅱ
java·开发语言·算法·leetcode·职场和发展·1024程序员节
jllllyuz6 小时前
Matlab实现基于Matrix Pencil算法实现声源信号角度和时间估计
开发语言·算法·matlab
夏鹏今天学习了吗7 小时前
【LeetCode热题100(72/100)】前 K 个高频元素
leetcode
稚辉君.MCA_P8_Java7 小时前
DeepSeek 插入排序
linux·后端·算法·架构·排序算法
多多*7 小时前
Java复习 操作系统原理 计算机网络相关 2025年11月23日
java·开发语言·网络·算法·spring·microsoft·maven
.YM.Z8 小时前
【数据结构】:排序(一)
数据结构·算法·排序算法
Chat_zhanggong3458 小时前
K4A8G165WC-BITD产品推荐
人工智能·嵌入式硬件·算法
百***48078 小时前
【Golang】slice切片
开发语言·算法·golang
墨染点香8 小时前
LeetCode 刷题【172. 阶乘后的零】
算法·leetcode·职场和发展