需要排序的最短子数组长度
2016-08-23 20:50
302 查看
要求: 给定一个无序数组arr,求出需要排序的最短子数组长度
View Code
// getMinLength.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> using namespace std; void getMinLength(int arr[],int len) { if(len == 0) return; //从后往前找到最小值,并记录最小值左边比它大的数的范围 int noMinIndex = -1; int minNum = arr[len - 1]; for(int i = len -2;i > -1;i--) { if(arr[i] > minNum) noMinIndex = i; else minNum = min(minNum,arr[i]); } if(noMinIndex == -1) return; //从前往后找一个极大值,并找到该极大值右边比它小的最远范围 int noMaxIndex = -1; int maxNum = arr[0]; for(int i =1;i < len;i++) { if(arr[i] < maxNum) noMaxIndex = i; else maxNum = max(arr[i],maxNum); } cout<<noMinIndex<<" ---"<<noMaxIndex<<" :"<<noMaxIndex-noMinIndex+1<<endl; } int _tmain(int argc, _TCHAR* argv[]) { int arr[] = {1,5,3,4,2,6,7}; int len = 7; getMinLength(arr,len); system("pause"); return 0; }
View Code
相关文章推荐
- 需要排序的最短子数组长度
- 需要排序的最短子数组长度
- 需要排序的最短子数组的长度
- 数组与矩阵---需要排序的最短子数组长度
- 需要排序的最短子数组长度
- 需要排序的最短子数组的长度
- 需要排序的最短子数组长度
- 需要排序的最短子数组长度
- 需要排序的最短子数组长度
- 求需要排序的最短子数组的长度
- [算法]需要排序的最短子数组长度
- 需要排序的最短子数组
- 待排序的最短子数组长度(C++版)
- 算法--求需要排序的最短子数组问题
- 直接排序(固定长度数组)
- (KMP 1.4)hdu 3746 Cyclic Nacklace(使用next数组来求循环节的长度——求一个字符串需要添加多少个字符才能使该字符串的循环节的个数>=2)
- Java Arrays类进行数组排序需要注意的事情
- 对1...n,数组长度未知进行交换排序(无重复值,时间复杂度O(n), 空间复杂度O(1))
- 用qsort对字符串数组排序需要注意的几个问题
- 排序数组中重复最对的数字长度