有序数组的平方

暴力排序

每个数平方以后排个序

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。

相关推荐
To_OC15 小时前
LC 1 两数之和:面试第一道必考题,暴力解法直接被面试官 pass
javascript·算法·leetcode
鱼鱼不愚与19 小时前
《原来如此 | 第01期:为什么导航软件能预测红绿灯倒计时?》
算法
复杂网络1 天前
论最小 Agent 计算机的形态
算法
kisshyshy2 天前
🍦 雪糕、食堂、火车厢:三幅漫画吃透栈、队列与链表
javascript·算法
猿人谷2 天前
不只是 CPU 阈值:STAR 如何用 GAT + Transformer 做容器级自动扩缩容?
人工智能·算法
复杂网络2 天前
Stable Diffusion 视觉大模型微调技术深度调研
算法
复杂网络2 天前
基于 Stable Diffusion 架构的视觉大模型代表性工作与原理深度解析
算法
MrZhao4002 天前
Agent Loop 如何用 Hook 扩展:权限、日志与工具拦截
算法
MrZhao4002 天前
Agent 为什么需要 Skills:别把所有知识都塞进 system prompt
算法