最短排序
2016-04-27 21:35
375 查看
对于一个无序数组A,请设计一个算法,求出需要排序的最短子数组的长度。
给定一个整数数组A及它的大小n,请返回最短子数组的长度。
测试样例:
[1,5,3,4,2,6,7],7
返回:4
给定一个整数数组A及它的大小n,请返回最短子数组的长度。
测试样例:
[1,5,3,4,2,6,7],7
返回:4
class ShortSubsequence { public: int findShortest(vector<int> A, int n) { int max=A[0],min=A[n-1],maxNum=-1,minNum=-1; for(int i=1;i<n;++i){ if(max>A[i]) maxNum=i; else max=A[i]; } for(int i=n-1;i>=0;--i){ if(min<A[i]) minNum=i; else min=A[i]; } if(minNum==-1) return 0; else return maxNum-minNum+1; } };
相关文章推荐
- BFS DFS 搜索专题合集
- Java网络编程-UDP编程
- 服务端模板注入(SSTI攻击)
- php整理(二): 数组
- 个人工作总结09
- linux基本命令(6)——rmdir命令
- leetcode-203. Remove Linked List Elements
- [置顶] 信息学比赛经验错误总结(实时更新)
- C++派生类构造函数调用顺序
- JavaScript与HTML_DOM
- HashSet源码解析
- Footer固定在页面底部(CSS)
- 比较顺序表和链表的优缺点
- leetcode-58. Length of Last Word
- 引用xml命名空间问题
- UVa 400 Unix Is
- NYOJ 21 三个水杯 (BFS)
- scrollTo、scrollBy、getScrollX、getScrollY这4个方法的含义
- 第五章 Python数据结构
- cgic