360. Sort Transformed Array
2024-10-18 17:22:36
一元二次方程。。。仿佛回到了初中。
主要看a的情况来分情况讨论:
=0,一次函数,根据b的正负单调递增递减就行了。
<0,凸状。。从nums[]左右两边开始往中间一边比较一边 从右往左 放;
0,凹状。。从左往右。。
public class Solution {
public int[] sortTransformedArray(int[] nums, int a, int b, int c)
{
int n = nums.length;
int[] res = new int[n];
int i = 0;
if(a == 0)
{
if(b >= 0) while(i < n) res[i] = nums[i++]*b + c;
else
while(i < n)
{
res[i] = nums[n-1-i]*b + c;
i++;
}
}
else
{
int l = 0;
int r = n-1;
int M = -b/a;
while(i < n)
{
int p = cal(nums[l],a,b,c);
int q = cal(nums[r],a,b,c);
if(a > 0)
{
if(p > q)
{
l++;
res[n-1-i] = p;
}
else
{
r--;
res[n-1-i] = q;
}
}
else
{
if(p < q)
{
l++;
res[i] = p;
}
else
{
r--;
res[i] = q;
}
}
i++;
}
}
return res;
}
public int cal(int x, int a, int b, int c)
{
return a*x*x + b*x + c;
}
}
最新文章
- ARC内存管理机制详解
- 20145208 《Java程序设计》第0周学习总结
- stm32cube--通用定时器--产生pwm波
- 士兵站队问题sol
- Objective-C 【继承、变量修饰符(私有变量/方法)、description方法】
- Invocation of init method failed; nested exception is org.hibernate.HibernateException: could not instantiate RegionFactory [org.hibernate.cache.impl
- 【转】【C/C++】内存分配函数:malloc,calloc,realloc,_alloca
- twitter 监控登陆活动
- office如何去除多页签
- System.Data.SqlClient.SqlException (0x80131904): EXECUTE 后的事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配。上一计数 = 1,当前计数 = 0。 EXECUTE 后的事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配。上一计数 = 1,当前计数 = 0。
- Junit4学习(二)测试失败的情况
- 面向对象原生JavaScript案例炫彩小球
- ssh hibernate修改数据库
- CSS选择器中带点(.)怎么办?
- 获取docker容器的ip地址
- C# 函数式编程及Monads.net库
- ngnix +tomcat7 简单配置
- PHP将富文本内容去除各类样式图片等只保留txt文本内容(作用于SEO的description)
- vue2.0组件通信各种情况总结与实例分析
- Java中创建实例化对象的几种方式