需要排序的最短子数组
来源:互联网 发布:红黑树 java 编辑:程序博客网 时间:2024/05/16 14:12
对于一个数组,请设计一个高效算法计算需要排序的最短子数组的长度.
/* 思路:首先,从左往右遍历数组,单独用一个变量记录遍历过得最大值
* 遇到遍历过的最大值大于当前数的情况,记录这种情况的最右的位置
* 然后从右往左遍历数组,用一个变量记录遍历过得最小值
* 遇到最小值比当前数要小的情况,记录这种情况的最左的位置
* 最做的位置和最右的位置中间的范围就是最短子数组
*
*/
public class 最短子数组 { public static void main(String[] args) { int A[]={1,5,4,3,2,6,7,2}; System.out.println(shortestSubsequence(A, A.length)); } public static int shortestSubsequence(int[] A, int n) { if (n<=1) { return 0; } int max=A[0]; int min=A[n-1]; int left=0; int right=0; for(int i=0;i<n;i++){ if (A[i]>=max) { max=A[i]; }else{ left=i; } } for(int j=n-1;j>=0;j--){ if (A[j]<=min) { min=A[j]; }else{ right=j; } } if (left==right) { return 0; } return left-right+1; }}
阅读全文
0 0
- 需要排序的最短子数组
- 需要排序的最短子数组的长度
- 需要排序的最短子数组的长度
- 需要排序的最短子数组长度
- 需要排序的最短子数组长度
- 需要排序的最短子数组长度
- 需要排序的最短子数组长度
- 数组与矩阵---需要排序的最短子数组长度
- 求需要排序的最短子数组的长度
- 需要根据二维数组里面的某一个数组排序
- 用qsort对字符串数组排序需要注意的几个问题
- Java Arrays类进行数组排序需要注意的事情
- 数组的快速排序(递归,需要隐性栈空间)
- 用qsort对字符串数组排序需要注意的几个问题
- 用qsort对字符串数组排序需要注意的几个问题
- javascript中Array数组的sort()排序需要注意的地方!
- 手写的日期排序 数组作为参数传入排序函数,输出时需要override String类中的 toString
- UNION 是需要排序的
- 关于Ubuntu16.04+Tensorflow学习笔记 MNIST导入
- OpenCV在Android上实现人脸背景虚化
- nyoj 325 zb的生日
- mysql中insert into语句的5种写法(下)
- Xcode 快速开发 代码块
- 需要排序的最短子数组
- Java日记(1)—运行环境和语言介绍
- JQuery制作小风车特效
- Zynq-Linux移植学习笔记之20-Zynq linux can驱动开发
- java1.8版本hashTable源码阅读
- 小白一枚~~~
- WebService(腾讯QQ在线状态 WEB 服务)
- java综合日期时间处理工具类
- ICP点云配准