博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode刷题笔记 977. 有序数组的平方
阅读量:3749 次
发布时间:2019-05-22

本文共 1133 字,大约阅读时间需要 3 分钟。

977. 有序数组的平方

知识点:数组、双指针、排序

时间:2020年10月16日
题目链接:

题目

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

示例1

输入:[-4,-1,0,3,10]
输出:[0,1,9,16,100]

示例 2:

输入:[-7,-3,2,3,11]
输出:[4,9,9,49,121]

提示:

  1. 1 <= A.length <= 10000
  2. -10000 <= A[i] <= 10000
  3. A 已按非递减顺序排序。

解法

  1. 数组中的数字全部平方后排序
  2. 用题目中给的条件 A 已按非递减顺序排序 ,比较最前面和最后的元素大小 即可比较出最大值,放入数组最后,以此移动前后指针

代码

include 
#include
#include
using namespace std;/*class Solution {public: vector
sortedSquares(vector
& A) { for(int i=0;i
sortedSquares(vector
& A) { int start = 0, end = A.size()-1; int pos = A.size()-1; vector
ans(A.size(),0); while (start<=end) { if(A[start] * A[start] >= A[end] * A[end]){ ans[pos--] = A[start]*A[start]; start++; }else{ ans[pos--] = A[end]*A[end]; end--; } } return ans; }};int main(){ vector
A{ -4,-1,0,3,10}; Solution s; vector
ans = s.sortedSquares(A); for (int x: ans) { cout<
<

今天也是爱zz的一天哦!

转载地址:http://kmdsn.baihongyu.com/

你可能感兴趣的文章
Java语言命名要求
查看>>
进制数及其基本数据类型的转换
查看>>
java中常量、表达式
查看>>
java是一种结构化编程
查看>>
字符串中的查找
查看>>
Radom类随机生成
查看>>
java.Math类方法
查看>>
关于限定词
查看>>
UML和类图
查看>>
浮点数无法准确存放,在进行等 值判断的时候如何解决?
查看>>
最常用的Dos命令
查看>>
java基础篇笔记(入门篇)
查看>>
Math中部分方法
查看>>
变量和标识符
查看>>
控制语句的学习
查看>>
对数组的初步学习
查看>>
数组的拷贝和java.util.Arrays 类
查看>>
数组实现储表格数据
查看>>
面向对象篇
查看>>
字符串如何去重呢?
查看>>