import java.util.Arrays;
class Solution {
public int[] sortedSquares(int[] nums) {
int[] numSquare = new int [nums.length];
for(int i = 0; i < nums.length; i++){
numSquare[i] = (int)Math.pow(nums[i],2);
}
Arrays.sort(numSquare);
return numSquare;
}
}
constraints
Given an integer array nums sorted in non-decreasing order, return an array of the squares of each number sorted in non-decreasing order.
integer nums배열이 오름차순으로 정리되어있다.모든 요소를 제곱하고 그 배열을 오름차순으로 return하라.
기존nums배열이 오름차순으로 정렬되어있어도 element가 음수인데 그대로 제곱만 할경우
[-3,-2, 0,1]
-> [9,4,0,1]
이렇게 되어서 오름차순 나열이 되지않는다.따라서 Arrays 를 임포트해서 오름차순으로 나열해준다.
Arrays.sort()는 void를 return하기 때문에
int modArr[] = Arrays.sort(arr); -> x
Arrays.sort(arr); -> o
두번째 방식으로 사용한다.
sort의 기본은 오름차순이며 내림차순은
Arrays.sort(arr,Collections.reverseOrder());
로 구현가능하다. 이때 배열의 형식은 int가 아니라 Integer여야함. 이때는
public static void sort(T[] a,
Comparator<? super T> c)이기 때문에 원시형 datatype을 지원하지 않는다...
https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#sort(byte[])