977.有序数组的平方

题目描述:

给你一个按 ==非递减顺序 ==排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。

法一:

暴力法,遍历数组,计算每个元素的平方,然后将这些数进行排序

class Solution977{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;}
};

法二:

使用双指针法。

  1. 定义一个空的数组,同时定义一个指针指向该数组的最后一个位置
  2. 原数组使用两个指针分别指向数组的头部和尾部,分别计算两个元素的平方后比较大小,较大的放入新数组的指针指向的位置,原数组指向较大的数的指针进行移动
  3. 返回新的数组
class Solution97702{public:vector<int> sortedSquares(vector<int>& nums) {int k = nums.size() - 1;vector<int>num (nums.size() , 0);for(int i = 0 , j = nums.size() - 1 ; i <= j;){if(nums[i] * nums[i] < nums[j] * nums[j]){num[k] = nums[j] * nums[j];k--;j--;}else{num[k] = nums[i] * nums[i];k--;i++;}}return num;}
};

977.有序数组的平方相关推荐

  1. 随想录一期 day2 [977.有序数组的平方|209. 长度最小的子数组|59.螺旋矩阵II(剥洋葱)]

    977.有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 思路 递增数组,平方后最大值一定在最左侧或者最右侧,可想到– ...

  2. 力扣题解-977. 有序数组的平方

    题目:977. 有序数组的平方 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序. 示例 1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,1 ...

  3. 力扣977有序数组的平方(c++版)

    977有序数组的平方(c++版) 链接: 力扣题目链接 思路 首先要理解题目里的非递减顺序是什么意思. 非递减顺序排列即是指:意思是关键字递增序排列,但是并非单调递增(因为有重复的关键字)从小到大或者 ...

  4. 力扣题:977. 有序数组的平方

    题目链接:977. 有序数组的平方 题目: 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 示例 1: 输入:nums = [-4, ...

  5. 977. 有序数组的平方

    977. 有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 示例 1: 输入:nums = [-4,-1,0,3,10 ...

  6. leecode:977. 有序数组的平方

    leecode::977. 有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 请你设计时间复杂度为 O(n) 的算法解 ...

  7. 代码随想录算法训练营第二天| 977. 有序数组的平方、209. 长度最小子数组、59.螺旋矩阵II、数组总结

    目录: 977.有序数组的平方 209.长度最小的子数组 1.暴力输出法 2.滑动窗口法 59.螺旋矩阵II 总结: 今日收获: 977.有序数组的平方 因为是递增且有负数的数组,那么他们的平方如果还 ...

  8. Leonard代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II。

    第一章数组 (今日任务) 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结 建议大家先独立做题,然后看视频讲解,然后看文章讲解,然后在重新做一遍题,把题目AC,最后整理 ...

  9. 代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II。

    代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II. 977.有序数组的平方 209. 长度最小的子数组 59. 螺旋矩阵 II 977.有序数组的 ...

最新文章

  1. 怎么把dll库写成MATLAB接口,如何在Matlab中应用动态连接库接口技术
  2. CentOS7下搭建Nextcloud13.0.5
  3. mnn python例子
  4. JVM学习笔记(三)------内存管理和垃圾回收
  5. 开始→运行→命令集锦
  6. C#中使用JavaScriptSerializer类实现序列化与反序列化
  7. 国内外ACM/ICPC的OJ,BBS列表
  8. 视频压缩知识介绍(一)——评价标准及算法原理
  9. 【Caffe代码解析】Blob
  10. 数据结构基本知识点(二)
  11. Slickedit 打开Qt工程
  12. lda新闻主题提取_LDA主题模型 | 原理详解与代码实战
  13. 使用wget从google drive下载
  14. sprintf,snprintf的用法(可以作为linux中itoa函数的补充)
  15. 技术到管理岗位的角色转换:从优秀骨干到优秀管理者
  16. HTML网页设计期末课程大作业~仿腾讯游戏官网设计与实现(HTML+CSS+JavaScript)
  17. Neo4j ① <图论>图,节点,关系,属性<知识图谱和图库>图谱,图库,优势<基础>模块,应用场景,环境搭建,浏览器
  18. 类别不均衡问题之loss大集合:focal loss, GHM loss, dice loss 等等
  19. 世界著名logo设计文化解读
  20. 大数据面试杀招 | Flink,大数据时代的“王者”

热门文章

  1. 有道云笔记,熊掌记和 Effie 哪个适合单口或脱口秀作者?
  2. 完成一个重要的互联网进化心理学实验
  3. spring-注解实现自动装配
  4. SQL三值逻辑和NULL
  5. 基于国产智能芯片的IP摄像机产品方案
  6. 生信笔记:E值究竟是什么?!!!
  7. C语言中的字符变量和字符常量
  8. 计算机不识别lacie硬盘,LaCie移动硬盘
  9. 桌面每日一句--桌面翻译工具(有道翻译,微软翻译,Google翻译)
  10. Linux重启网卡,重启指定网卡