您的位置:首页 > 编程语言

编程 最短排序

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;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: