当前位置: 首页 > news >正文

有序数组的平方

暴力排序

每个数平方以后排个序

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;
    }
};
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;
    }
};

双指针 

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。

相关文章:

  • 【云安全】云原生-centos7搭建/安装/部署k8s1.23.6单节点
  • 【开源项目】Excel手撕AI算法深入理解(二):Transformer
  • 头歌educoder——数据库 第10-11章
  • 对自己的优缺点评价
  • 导入 Excel 批量替换文件夹名称
  • MySQL 分区与分库分表策略
  • 【场景应用6】Autoformer在时间序列预测任务中的应用
  • LangGraph——Agent AI的持久化状态
  • 038-flatbuffers
  • ngx_set_worker_processes
  • 考研数据结构之串的模式匹配算法——KMP算法详解(包含真题及解析)
  • 回顾CSA,CSA复习
  • Linux的网络配置的资料
  • python对mysql数据库的操作
  • 深度学习中多机训练概念下的DP与DDP
  • C++ 编程指南35 - 为保持ABI稳定,应避免模板接口
  • SQL查询语句的执行顺序
  • C++(初阶)(十一)——list
  • 数据结构实验6.1:矩阵的螺旋方阵输出
  • 在ArcGIS Pro中将栅格NoData值修改为特定值
  • 演员朱媛媛去世,其丈夫辛柏青发讣告
  • 演员辛柏青发讣告,妻子朱媛媛去世
  • 美发布“金穹”导弹防御系统发展规划
  • 西安市长安区与航天基地区政合一管理,党政一把手分任基地党工委正副书记
  • 印尼总统20年来首次访泰:建立战略伙伴关系,加强打击网络诈骗等合作
  • 年内首次存款利率下调启动:3年期、5年期均下调0.25个百分点