-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsqrsSortedArr.java
More file actions
41 lines (39 loc) · 1.34 KB
/
sqrsSortedArr.java
File metadata and controls
41 lines (39 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import java.util.Arrays;
public class sqrsSortedArr {
public static int[] sortedSquares(int[] nums) {
int positivePointer=0;
while (positivePointer<nums.length&&nums[positivePointer]<0) {
positivePointer++;
}
int negetivePointer=positivePointer-1;
int[] out=new int[nums.length];
int counter=0;
while (positivePointer<nums.length&&negetivePointer>=0) {
int posSqr=nums[positivePointer]*nums[positivePointer];
int negSqr=nums[negetivePointer]*nums[negetivePointer];
if (posSqr>=negSqr) {
out[counter]=negSqr;
negetivePointer--;
} else {
out[counter]=posSqr;
positivePointer++;
}
counter++;
}
while (negetivePointer>=0) {
out[counter]=nums[negetivePointer]*nums[negetivePointer];
negetivePointer--;
counter++;
}
while (positivePointer<nums.length) {
out[counter]=nums[positivePointer]*nums[positivePointer];
positivePointer++;
counter++;
}
return out;
}
public static void main(String[] args) {
int[] a={-4,-1,0,3,10};
System.out.println(Arrays.toString(sortedSquares(a)));
}
}