LeetCode 977. Squares of a Sorted Array

Posted blogxjc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 977. Squares of a Sorted Array相关的知识,希望对你有一定的参考价值。

977. Squares of a Sorted Array(有序数组的平方)

 

题目:

 

  给定一个按非递减顺序排序的整数数组 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 已按非递减顺序排序。

 

思路:

 

  非递减顺序,再加上存在负数,可以通过在两端比较:先取head和tail表示两端的位置,比较两个数的平方,平方较大者,放到新数组的靠后位置。

  (真要偷懒可以直接用sort,但是这样就没啥意义了)

 

代码:

 

技术图片
 1     public int[] sortedSquares(int[] A) 
 2     
 3         int len = A.length;
 4         int head = 0;
 5         int tail = len-1;
 6         int [] B = new int [len] ;
 7         while(head <= tail)
 8         
 9             len--;
10             int i = A[head]*A[head];
11             int j = A[tail]*A[tail];
12             if(i>j)
13             
14                 B[len] = i;
15                 head++;
16             
17             else
18             
19                 B[len] = j;
20                 tail--;
21             
22         
23         return B;
24     
View Code

 

以上是关于LeetCode 977. Squares of a Sorted Array的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 977. Squares of a Sorted Array

Leetcode_easy977. Squares of a Sorted Array

LeetCode 977 Squares of a Sorted Array

LeetCode --- 977. Squares of a Sorted Array 解题报告

LeetCode 977 Squares of a Sorted Array 解题报告

Leetcode 977. Squares of a Sorted Array