给定一个整数数组,找出两个下标,要求后面下标所指的数减去前面下标所指的数之差最大
来源:互联网 发布:java jdk 64位下载 编辑:程序博客网 时间:2024/06/18 11:38
问题描述:给定一个整数数组,找出两个下标,要求后面下标所指的数减去前面下标所指的数之差最大
解法一:采用两重循环遍历实现,时间复杂度为O(n^2),不再写代码了。
解法二:可以做到时间复杂度是O(n),具体代码如下:
public class Main {public static void main(String[] args) {// TODO 自动生成的方法存根 int a[]={3,1,5,8,6,2,0,9}; int b[]=fun(a); System.out.println(b[0]+" ,"+b[1]); } public static int[] fun(int a[]){ int b[]=new int[2]; if(a==null || a.length<2){ b[0]=0; b[1]=0; return b; } b[0]=0; int cha=b[1]-b[0]; for(int i=1;i<a.length;i++){ if(a[i]<a[b[0]])b[0]=i; if((a[i]-a[b[0]])>cha){ b[1]=i; cha=a[i]-a[b[0]]; } } return b; }}
阅读全文
0 0
- 给定一个整数数组,找出两个下标,要求后面下标所指的数减去前面下标所指的数之差最大
- 有一个数组内放10个整数要求找出最小的数&它的下标然后将它&数组中最前面的元素对换
- (动态规划DP)面试题:求数组中两个数的最大差值(只能下标大的减去下标小的)符合无后效性
- 编写一个函数 找出double类型中最大数的下标 输出下标
- 一个数组中两个数的和为N,找出这两个数字的下标
- 1. Two Sum 给定一个数组和一个数,输出两个和为给定数的数组元素的下标
- 从一个数据元素无序的整型数组中找出最小的两个数的下标
- 两数之和二 给定一个整形的数组,找出其中的两个数使其和为某个指定的值,并返回这两个数的下标(数组下标是从0开始)。假设数组元素的值各不相同,则要求时间复杂度O(n),n为数组的长度
- 给定一个数组,找出数组的峰值。返回其下标
- 从数组中查找给定数的下标
- 数组没隔两个数删除一个数最后循环求最后删除数的下标
- 面试算法题:数组中两个数之和为定值,找出这对数的下标
- 算法3:找出一个整数数组里面两个查值最大的两个下标a[j]-a[i]最大并且i<j
- 如果给定一个数组arr[0,...N-1],要求找出相邻两个数的最大差值
- 找出数组的平衡下标
- c语言实现在一个数组中求出最大数所在的下标
- 只遍历一遍 找出两个重复的数(将数组中各元素作为新数组的下标)
- 【查找】在按照绝对值排序的数组中,找出和为k的两个数的下标
- 使用Intellij IDEA开发Java Web项目
- 怎么看待移动APP的安全测试
- Git使用详细教程
- Vue.js--自定义指令
- Eclipse 插件 在线安装 收集
- 给定一个整数数组,找出两个下标,要求后面下标所指的数减去前面下标所指的数之差最大
- SSH原理与运用
- vue.js中使用set方法
- 异常:Invalid character found in the request target. The valid characters are defined in RFC 3986
- 2017 年 4 月美团 Android 面试总结
- 模糊查找
- 【算法】程序猿不写代码是不对的60
- Building Spark
- Linux命令学习手册-gpg命令