编程 最短排序
2016-03-11 16:19
281 查看
对于一个无序数组A,请设计一个算法,求出需要排序的最短子数组的长度。给定一个整数数组A及它的大小n,请返回最短子数组的长度。class ShortSubsequence {
public:
int findShortest(vector<int> A, int n) {
int res = 0;
int max = A[0], min = A[n-1];
int r_pos = 0, l_pos = 1;
for(int i=1; i<n; i++){
if(max<=A[i]){
max = A[i];
} else {
r_pos = i;
}
if(min>=A[n-1-i]){
min = A[n-1-i];
} else {
l_pos = n - 1 - i;
}
}
res = r_pos - l_pos + 1;
return res;
}
};
public:
int findShortest(vector<int> A, int n) {
int res = 0;
int max = A[0], min = A[n-1];
int r_pos = 0, l_pos = 1;
for(int i=1; i<n; i++){
if(max<=A[i]){
max = A[i];
} else {
r_pos = i;
}
if(min>=A[n-1-i]){
min = A[n-1-i];
} else {
l_pos = n - 1 - i;
}
}
res = r_pos - l_pos + 1;
return res;
}
};
相关文章推荐
- C#课后作业
- 【Maven-Eclipse】Cannot change version of project facet Dynamic Web Module to 2.5.
- 汉诺塔C++实现
- 标准c++中string类函数介绍
- 《你必须知道的495个C语言问题》读书笔记之第1-2章:声明和初始化
- 【thinkphp】解决IF标签变量与变量比较出现的问题
- Eclipse工具插件开发之ComboFieldEditor设置值刷新的问题
- java web 邮箱激活 与 忘记密码(重置密码)
- a simple email test in python
- (哈夫曼树)HuffmanTree的java实现
- Java IO——UDP连接测试
- C++第一上机实验-1-3
- python tips
- python核心编程第13章答案
- 单继承,聚合和Sealed密封(C#)
- ACM--括号匹配C++实现
- eclipse 读取不到手机 Adb failed to restart Make sure the plugin is properly configured
- c#多线程通信之委托(事件)
- 各种排序算法的分析及java实现
- 机房收费系统之vb报表的模板的制作(一)