成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

360. Sort Transformed Array

ChristmasBoy / 2595人閱讀

摘要:題目鏈接這是個數(shù)學問題,拋物線,我們知道這時候是個凹函數(shù),兩遍的值大于中間,所以從兩遍開始哪邊的大就把結(jié)果放到的右邊這時候是個凸函數(shù),兩遍的值小于中間,所以兩遍開始掃哪邊的值小就把它放到的左邊這時候是單調(diào)增的函數(shù),用上面任意一種方法都可以。

360. Sort Transformed Array

題目鏈接:https://leetcode.com/problems...

這是個數(shù)學問題,拋物線,我們知道

a > 0: 這時候是個凹函數(shù),兩遍的值大于中間,所以從兩遍開始哪邊的大就把結(jié)果放到result的右邊

a < 0: 這時候是個凸函數(shù),兩遍的值小于中間,所以兩遍開始掃哪邊的值小就把它放到result的左邊

a == 0: 這時候是單調(diào)增的函數(shù),用上面任意一種方法都可以。

public class Solution {
    public int[] sortTransformedArray(int[] nums, int a, int b, int c) {
        int n = nums.length;
        // 2 points
        int i = 0, j = n - 1;
        int k = a > 0 ? n - 1 : 0;
        
        int[] res = new int[n];
        while(i <= j) {
            int left = getF(nums[i], a, b, c);
            int right = getF(nums[j], a, b, c);
            if(a > 0) {
                if(left > right) {
                    res[k--] = left;  i++;
                }
                else {
                    res[k--] = right;  j--;
                }
            }
            else {
                if(left < right) {
                    res[k++] = left;  i++;
                }
                else {
                    res[k++] = right;  j--;
                }
            }
        }
        
        return res;
    }
    
    private int getF(int x, int a, int b, int c) {
        return a * x * x + b * x + c;
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/69850.html

相關文章

  • 360. Sort Transformed Array

    摘要:題目解答還是數(shù)學解法,根據(jù)這個方程圖形的特征來判斷最大最小值的取向 題目:Given a sorted array of integers nums and integer values a, b and c. Apply a function of the form f(x) = ax2 + bx + c to each element x in the array. The ret...

    wua_wua2012 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<