Java实现的计算最大下标距离算法示例
作者:Yaphat 时间:2022-02-09 19:14:37
本文实例讲述了Java实现的计算最大下标距离算法。分享给大家供大家参考,具体如下:
题目描述
给定一个整形数组,找出最大下标距离j−i, 当且A[i] < A[j] 和 i < j
解法
复杂度:三次扫描,每次的复杂度O(N)
算法:{5,3,4,0,1,4,1}
找出从第一个元素开始的下降序列{5,3,0}
i=3,j=6, j从尾部扫描
初始化,i=3, j=6, A[i]=0
实现代码
public static int maxindexdistance(int A[]) {
boolean[] isDes = new boolean[A.length];
int min = A[0];
isDes[0] = true;
for (int i = 0; i < A.length; i++) {
if (A[i] < min) {
isDes[i] = true;
min = A[i];
}
}
int maxdis = 0;
int i = A.length - 1;
int j = A.length - 1;
System.out.println(Arrays.toString(isDes));
while (i >= 0) {
while (isDes[i] == false) {
i--;
}
while (j > i && A[j] <= A[i]) {
j--;
}
if ((j - i) > maxdis) {
maxdis = j - i;
}
i--;
}
return maxdis;
}
希望本文所述对大家java程序设计有所帮助。
来源:http://blog.csdn.net/yaphat/article/details/77773766
标签:Java,计算,算法
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
使用mybatis-plus的insert方法遇到的问题及解决方法(添加时id值不存在异常)
2023-11-12 19:25:55
![](https://img.aspxhome.com/file/2023/6/59606_0s.png)
JetBrains 产品输入激活码 Key is invalid 完美解决方案
2023-11-08 08:57:55
![](https://img.aspxhome.com/file/2023/6/58866_0s.jpg)
SpringBoot集成Swagger2的方法
2023-11-26 13:15:42
![](https://img.aspxhome.com/file/2023/0/60350_0s.png)
使用反射方式获取JPA Entity的属性和值
2023-07-24 17:43:22
Java移动文件夹及其所有子文件与子文件夹
2023-08-01 09:53:38
C语言运算符优先级列表(超详细)
2023-07-04 08:17:54
利用Java8 Optional类优雅如何地解决空指针问题
2023-07-30 04:58:13
关于spring的自定义缓存注解分析
2023-11-28 17:02:50
java 中HttpClient传输xml字符串实例详解
2023-11-24 13:40:54
SpringBoot2.0集成WebSocket实现后台向前端推送信息
2023-08-22 18:50:39
![](https://img.aspxhome.com/file/2023/8/58308_0s.png)
Java SpringBoot的相关知识点详解
2023-11-23 02:36:35
![](https://img.aspxhome.com/file/2023/0/58620_0s.png)
mybatis-plus中lambdaQuery()与lambdaUpdate()比较常见的使用方法总结
2023-11-24 22:43:04
![](https://img.aspxhome.com/file/2023/6/60156_0s.jpg)
SpringMVC+Mybatis实现的Mysql分页数据查询的示例
2023-11-24 20:53:33
![](https://img.aspxhome.com/file/2023/2/58692_0s.png)
SpringBoot中@Import注解如何正确使用
2023-07-28 12:36:16
![](https://img.aspxhome.com/file/2023/7/57707_0s.png)
Java设计模式之命令模式详解
2023-11-15 21:18:43
Android的消息机制
2023-08-05 10:19:28
详解Java线程-守护线程与用户线程
2023-11-25 00:17:29
JAVA如何按字节截取字符串
2023-11-25 13:31:41
Android中TimePicker与DatePicker时间日期选择组件的使用实例
2023-08-07 01:35:15
![](https://img.aspxhome.com/file/2023/0/84740_0s.jpg)
Java 集合框架之List 的使用(附小游戏练习)
2023-11-24 10:33:40
![](https://img.aspxhome.com/file/2023/7/59947_0s.png)