有序数组的平方

暴力排序

每个数平方以后排个序

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。

相关推荐
爱数模的小驴11 分钟前
2025 年“认证杯”数学中国数学建模网络挑战赛 C题 化工厂生产流程的预测和控制
深度学习·算法·计算机视觉
Hanson Huang1 小时前
【数据结构】堆排序详细图解
java·数据结构·排序算法·堆排序
Susea&1 小时前
数据结构初阶:队列
c语言·开发语言·数据结构
序属秋秋秋2 小时前
算法基础_数据结构【单链表 + 双链表 + 栈 + 队列 + 单调栈 + 单调队列】
c语言·数据结构·c++·算法
apcipot_rain3 小时前
【密码学——基础理论与应用】李子臣编著 第五章 序列密码 课后习题
算法·密码学
不要不开心了3 小时前
sparkcore编程算子
pytorch·分布式·算法·pygame
88号技师3 小时前
【2024年最新IEEE Trans】模糊斜率熵Fuzzy Slope entropy及5种多尺度,应用于状态识别、故障诊断!
人工智能·算法·matlab·时序分析·故障诊断·信息熵·特征提取
清同趣科研3 小时前
R绘图|6种NMDS(非度量多维分析)绘图保姆级模板——NMDS从原理到绘图,看师兄这篇教程就够了
人工智能·算法
杜小暑3 小时前
冒泡排序与回调函数——qsort
c语言·算法·排序算法
徵6863 小时前
代码训练day27贪心算法p1
算法·贪心算法