https://leetcode-cn.com/problems/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 <= A.length <= 10000
-10000 <= A[i] <= 10000
A
已按非递减顺序排序。
代码实现:
int* sortedSquares(int* A, int ASize, int* returnSize) {
int i=0,j=ASize-1;
int k=ASize-1;
int *b=(int *)malloc(sizeof(int)*ASize);
while(i<=j)
{
if(abs(A[i])>abs(A[j]))
{
b[k]=A[i]*A[i];
k--;
i++;
}
else
{
b[k]=A[j]*A[j];
k--;
j--;
}
}
*returnSize=ASize;
return b;
}