Leetcode学习笔记:#977. Squares of a Sorted Array

Leetcode学习笔记:#977. Squares of a Sorted Array

Given an array of integers A sorted in non-decreasing order, return an array of the squares of each number, also in sorted non-decreasing order.

实现:

public int[] sortedSquares(int[] A){
	int n = A.length;
	int[] result = new int[n];
	int i = 0, j = n-1;
	for(int p = n -1; p >= 0; p--){
		if(Math.abs(A[i]) > Math.abs(A[j])){
			result[p] = A[i] * A[i];
			i++;
		}else{
			result[p] = A[j] * A[j];
			j--;
		}
		return result;
	}
}

思路:
两个指针,一个从前往后,一个从后向前,每遍历一次则判断p和i的绝对值哪个大,大的则平方后放在p的位置。

猜你喜欢

转载自blog.csdn.net/ccystewart/article/details/90178053