Java实现的计算最大下标距离算法示例
作者:Yaphat 发布时间:2022-02-09 19:14:37
标签:Java,计算,算法
本文实例讲述了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
0
投稿
猜你喜欢
- 目录Mybatis简介Mybatis开发步骤:Mybatis的映射文件概述Mybatis的增删改查操作MyBatis的核心配置文件概述MyB
- 1 什么是条件变量condition_variable是一个类,常和mutex搭配使用。condition_variable类是一个同步原语
- 摘要在使用java做后台站点的开发张,图表和报表功能都是不可或缺 的。本文推荐了8款最精彩实用的Java图表应用,大部分图表应用的功能都类似
- 本篇主要记录AndroidR Settings源码主界面加载流程,方便后续工作调试其流程。Settings代码路径:packages/app
- 网上关于如何切换,其实说的很明确,本文主要通过profile进行快速切换已实现在不同场合下,用不同的打包方式。jar到war修改步骤pom文
- 这两天做了一个项目,发现标签不能更改任意一个标签的字体的颜色,需求如同置前标签,然后就对tagcloudeview稍做修改做了这么一个dem
- 前言由于多核系统普遍存在,并发性编程的应用无疑比以往任何时候都要广泛。但并发性很难正确实现,用户需要借助新工具来使用它。很多基于 JVM 的
- 方案实施1、 spring和ehcache集成主要获取ehcache作为操作ehcache的对象。spring.xml中注入ehcacheM
- 首先我们看一下hibernate的主配置文件<!DOCTYPE hibernate-configuration PUBLIC &nbs
- 前提:① 已经提供了一个wsdl接口② 该接口能正常调用总体分为两种方式:1.使用cxf的wsdl2java工具生成本地类(使用方式就是本地
- 1 常量定义在程序中存在大量的数据来代表程序的状态,其中有些数据在程序运行过程中值不能发生改变,这些数据在程序中被叫做常量。2 常量语法命名
- 今天来学习总结一下,Android 后添加的一些新的组件和UI效果,Material Dialog,SwipeRefreshLayout,L
- 定义:封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。类型:行为类模式类图:例子:例如
- 本文实例讲述了C#实现闪动托盘图标效果的方法。分享给大家供大家参考,具体如下:在用户正在登录QQ或者使用Firemail邮件系统自动收取邮件
- 本文为大家分享了如何使用eclipse创建java项目,供大家参考,具体内容如下首先,打开Eclipse,在工具栏依次点击【File】>
- 本文实例为大家分享了Android实现背景图滑动变大松开回弹的具体代码,供大家参考,具体内容如下原图放大后1、自定义view继承Scroll
- 作为工厂方法模式的孪生兄弟,相信大家对工厂方法模式和抽象工厂模式傻傻分不清楚吧。那么,就让我来拯救大家吧!抽象工厂模式定义:所谓抽象工厂模式
- 详解Java对象的强、软、弱和虚引用+ReferenceQueue一、强引用(StrongReference)强引用是使用最普遍的引用。如果
- 本文实例为大家分享了flutter实现底部导航栏的具体代码,供大家参考,具体内容如下一.flutter底部导航栏常用组件BottomNavi
- 效果图国际惯例,先看效果图:具体效果就是吃豆人会根据吃不同颜色的豆子改变身体的颜色。绘制静态吃豆人、豆豆、眼睛首先,我们需要将这个静态的吃豆