Java- Return the Squares of a Sorted Array in Sorted Order


In this Java exercise, you have an integer array sorted in non-decreasing order, and you must return an array of the squares of each element sorted in non-decreasing order.

For example:

Input : [-4,-1,0,3,10]
Output : [16,1,0,9,100]
Final Result : [0,1,9,16,100]

Explanation: After squaring, the array becomes [16,1,0,9,100]. After sorting, it becomes [0,1,9,16,100].

1. Using Java 8

With JDK 8, you can use the Stream API and it’s map for squaring of each element and sorted method for the sorting of the result.

private static int[] sortedSquareUsingJava8(int[] nums) {

	return Arrays.stream(nums).map(e -> e * e).sorted().toArray();
	
}

2. Using Java

public static int[] sortedSquares(int[] nums) {

	for (int i = 0; i < nums.length; i++) {
		// Square of element
		nums[i] = nums[i] * nums[i];
	}
	
	// sort the array
	Arrays.sort(nums);
	
	return nums;
}

Similar Posts

About the Author

Atul Rai
I love sharing my experiments and ideas with everyone by writing articles on the latest technological trends. Read all published posts by Atul Rai.