Sort Transformed Array
Posted keepshuatishuati
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sort Transformed Array相关的知识,希望对你有一定的参考价值。
1 public class Solution { 2 public int[] sortTransformedArray(int[] nums, int a, int b, int c) { 3 if (nums.length < 2) { 4 return nums; 5 } 6 int[] result = new int[nums.length]; 7 int start = 0, end = nums.length - 1; 8 int index = a > 0 ? nums.length - 1 : 0; 9 while (start <= end) { 10 if (a > 0) { 11 result[index--] = getF(nums[start], a, b, c) > getF(nums[end], a, b, c) ? getF(nums[start++], a, b, c) : getF(nums[end--], a, b, c); 12 } else { 13 result[index++] = getF(nums[start], a, b, c) < getF(nums[end], a, b, c) ? getF(nums[start++], a, b, c) : getF(nums[end--], a, b, c); 14 } 15 } 16 return result; 17 } 18 19 private int getF(int x, int a, int b, int c) { 20 return a * x * x + b * x + c; 21 } 22 }
1. This is a parabola function. So two ends always larger than mid.
2. remember return value.
以上是关于Sort Transformed Array的主要内容,如果未能解决你的问题,请参考以下文章
leetcode360 - Sort Transformed Array - medium
Leetcode 360: Sort Transformed Array
360. Sort Transformed Array二元一次方程返回大数序列
我的C/C++语言学习进阶之旅解决使用algorithm库里面的sort函数的时候,编译报错:未能使函数模板“unknown-type std::less<void>::operator ()(代码片