360 Sort Transformed Array
Problem:
Solutions:
public class Solution {
public int[] sortTransformedArray(int[] nums, int a, int b, int c) {
int[] result = new int[nums.length];
int left = 0, right = result.length - 1;
for (int i = 0; i < result.length; i ++) {
if (a > 0) {
int leftp = a * nums[left] * nums[left] + b * nums[left] + c;
int rightp = a * nums[right] * nums[right] + b * nums[right] + c;
if (leftp > rightp) {
result[result.length - 1 - i] = leftp;
left ++;
}
else {
result[result.length - 1 - i] = rightp;
right --;
}
}
else {
int leftp = a * nums[left] * nums[left] + b * nums[left] + c;
int rightp = a * nums[right] * nums[right] + b * nums[right] + c;
if (leftp < rightp) {
result[i] = leftp;
left ++;
}
else {
result[i] = rightp;
right --;
}
}
}
return result;
}
}Last updated