博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
360. Sort Transformed Array
阅读量:5919 次
发布时间:2019-06-19

本文共 1150 字,大约阅读时间需要 3 分钟。

题目:

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 returned array must be in sorted order.

Expected time complexity: O(n)

Example:

nums = [-4, -2, 2, 4], a = 1, b = 3, c = 5,

Result: [3, 9, 15, 33]

nums = [-4, -2, 2, 4], a = -1, b = 3, c = 5

Result: [-23, -5, 1, 7]

解答:

//还是数学解法,根据这个方程图形的特征来判断最大最小值的取向    public int function(int num, int a, int b, int c) {        return a * num * num + b * num + c;     }        public int[] sortTransformedArray(int[] nums, int a, int b, int c) {        int len = nums.length;        int[] result = new int[len];        int index = a >= 0 ? len - 1 : 0;        int i = 0, j = len - 1;        while (i <= j) {            if (a >= 0) {                result[index--] = function(nums[i], a, b, c) >= function(nums[j], a, b, c) ? function(nums[i++], a, b, c) : function(nums[j--], a, b, c);            } else {                result[index++] = function(nums[i], a, b, c) <= function(nums[j], a, b, c) ? function(nums[i++], a, b, c) : function(nums[j--], a, b, c);            }        }        return result;    }

转载地址:http://ynbvx.baihongyu.com/

你可能感兴趣的文章
寝室生活吐槽
查看>>
LeetCode 1.两数之和
查看>>
新博客开业啦
查看>>
GDB中打印pthread_internal_t的方法
查看>>
深入理解JavaScript特性
查看>>
java基础之finally(转)
查看>>
pl/sql编程(四)
查看>>
关于我
查看>>
(转载)SQL语句导入导出大全
查看>>
nodejs开启服务器
查看>>
gen_create_syn.sql
查看>>
多媒体开发之 H.264中NALU、RBSP、SODB的关系 (弄清码流结构)
查看>>
mediomax
查看>>
Gulp
查看>>
《大话设计模式》学习心得系列(二)
查看>>
Radar DIY
查看>>
组件化网页开发 / 步骤一 · 4-8 编程练习
查看>>
leetcode32. Longest Valid Parentheses
查看>>
JavaScript——new Date().getMonth()
查看>>
mongodb- Java API 增删改操作
查看>>