求数组中的最长平台
来源:互联网 发布:mac在美国多少钱一支 编辑:程序博客网 时间:2024/04/30 09:38
原题:给定一个整型数组b[0:n], b 中连续相等的元素构成的子序列称为平台.试设计算法,求 b 中最长平台的长度.
分析:用 max 表示已求得平台的最大长度, curr 表示当前当前正在处理的平台的长度, 当 max < curr 时, 将 curr 赋值给 max 即可.
#include<iostream>#include<time.h>#define ElemType int#define SIZE 30using namespace std;int MaxLength(ElemType array[SIZE], int n){int max = 1, curr = 1;int start = 0;//当前平台的起始位置for(int i = 1; i < n; i++){if(array[i] == array[start]){curr++;//当前平台长度自加1}else{if(max < curr){max = curr;//用 max 记住最长平台的最大长度}start = i;//设置新的平台开始位置及当前平台的长度curr = 1;}}return max;}void main(){ElemType array[SIZE];srand((unsigned)time(NULL));for(int i = 0; i < SIZE; i++){array[i] = rand()%4 + 1;cout<<array[i]<<" ";if(0 == (i+1)%10){cout<<endl;}}cout<<endl;cout<<"数组 array 中最长平台的长度为: "<<MaxLength(array, SIZE)<<endl;cout<<endl;}
- 求数组中的最长平台
- 求数组中的最长递增子序列
- 求数组中的最长递增子序列
- 求数组中的最长递增子序列
- 编程之美 求数组中的最长递增子序列
- LeetCode -- 求字符串数组中的最长公共前缀
- 笔试题:动态规划之求数组中的最长路径
- 求整数数组中的最长递增子序列长度
- 数组最长平台的实现
- 求数组中的最大子数组之和,最长递增子序列
- 求字符串中的最长回文
- 利用后缀数组求字符串中的最长公共字串——编程珠玑15章
- POJ 3294 后缀数组:求不小于k个字符串中的最长子串
- 求数组中最长递增子序列
- 求数组中最长递增子序列
- 求数组中最长递增子序列
- 求数组中最长递增子序列
- 求数组中最长递增子序列
- 16、C语言指针小结
- cocos2d-x中实现区域裁剪
- 17、C语言文件及文件操作
- 隐藏UIScrollView的滚动条
- 18、C语言中预处理及位段
- 求数组中的最长平台
- 19、C语言小结
- Java测试框架比较:TestNG VS JUnit 4
- 20、C语言防止重复编译
- alsa声卡驱动分析总结
- cocos2d-x游戏开发中CREATE_FUNC和NODE_FUNC概述
- 在HTML中嵌入JavaScript脚本
- 安卓开发中Android消息机制详解
- Android 技巧:命令行运行 sqlite3