题目:
数组a[0..n-1],找出i和j使得a[j] - a[i]的值最大。
注意j > i。
要求是时间复杂度O(n),空间复杂度O(1)。
思路:
样例数组 11,1,5,8,11,2,3,2,11,5,3
1.先从后到前依次求出相邻2个数的差值,得到 {-2,-6,9,-1,1,-9,3,3,4,-10}
2.问题转化为求差值数组最大和序列,从前至后遍历该数组,保留所有的序列和为正数的和,得到{9,8,9,3,6,10},求最大值为 10
代码:
static int maxIj(int[] arr){
for(int i=arr.length-1; i > 0;i--){
arr[i] = arr[i] - arr[i-1];
}
arr[0] = 0 ;
int n = 0;
for(int i=1; i<arr.length;i++) {
n = n + arr[i];
if(n > 0 && n > arr[0]) {
arr[0] = n;
} else {
n = 0;
}
}
int maxIj = arr[0];
System.out.println(CollectorUtil.toString(arr));
return maxIj;
}
public static void main(String[] args) {
int[] arr = new int[]{11,3,5,8,11,2,3,2,11,5,3};
int max = maxIj(arr);
System.out.println(max);
System.out.println("---------------");
}
分享到:
相关推荐
- **`maxij()`**:此函数用于找到矩阵中最大值的位置,并将其交换到适当的位置。 - **`zeros()`**:用于执行高斯消元,通过将矩阵下方的元素置零来简化求解过程。 - **`solution()`**:根据简化后的矩阵,反向代入...
* 接收用户输入 n,m,Maxij ,Allocationij * 按照银行家算法判断当前状态安全与否,安全给出安全序列,不安全给出提示 * 如果安全,提示用户输入下一时刻进程 Pk 的资源请求Request(R1, … ,Rm) * 如果不安全或者...
- 接收用户输入n、m、Maxij 和 Allocationij。 - 使用银行家算法判断当前系统状态是否安全。 - 如果安全,输出安全序列。 - 如果不安全,给出提示。 - 若系统安全,提示用户输入下一时刻进程Pk的资源请求Request...
【作品名称】:泰迪杯 : 基于 python 实现 运输车辆安全驾驶行为的分析 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 在车辆运输过程中,不良驾驶行为主要包括疲劳驾驶、急加速、急减速、怠速预热、 超长怠速、熄火滑行、超速、急变道等。 针对以上运输车辆的不良驾驶行为,给出不同不良驾驶行为的判别标准,行车安全评价模型如下: 疲劳驾驶:连续行车时间超过4小时。 提取数据思路:若某一行acc_state列值为1并且gps_speed列数值大于0,则认为汽车开始启动,继续扫描数据表,直到寻找到一行gps_speed列的数值为0,则认为汽车已经处于停止状态,再根据location_time列由两个数据获取时间间隔,判断是否属于疲劳驾驶。 急加速、急减速:每两个经纬度间汽车的加速度达到或者超过20km/s^2。两个经纬度间汽车的加速 【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。需要有一定的基础看懂代码,自行调试代码并解决报错,能自行添加功能修改代码。
基于springboot的校园社交平台源码数据库文档.zip
scipy-1.7.1-cp37-cp37m-linux_armv7l.whl
java源码资源EJB 模拟银行ATM流程及操作源代码提取方式是百度网盘分享地址
pillow-11.0.0-cp39-cp39-linux_armv7l.whl
java面试视频资源微服务架构之Spring Cloud Eureka 场景分析与实战提取方式是百度网盘分享地址
基于springboot+vue的音乐播放系统源码数据库文档.zip
matplotlib-3.5.0-cp37-cp37m-linux_armv7l.whl
onnxruntime-1.16.2-cp311-cp311-win_amd64.whl
基于springboot复兴村医疗管理系统源码数据库文档.zip
环境说明: 开发软件:VS 2017 (版本2017以上即可,不能低于2017) 数据库:SqlServer2008r2(数据库版本无限制,都可以导入) 开发模式:mvc
onnxruntime-win-x64-gpu-1.19.2.zip
bimdata_api_client-4.0.7-py3-none-any.whl
基于springboot的实验室开放管理系统源码数据库文档.zip
Pillow-9.2.0-cp39-cp39-linux_armv7l.whl