求出最长连续序列,并打印出序列
来源:互联网 发布:商丘学院网络教学平台 编辑:程序博客网 时间:2024/06/02 23:56
#include <iostream>#include <unordered_map>using namespace std;int longestConSeq(int* a, int n, int& small, int& big){ unordered_map<int, bool> m; for (int i = 0; i < n; i++) { m[a[i]] = false; } int max = 0; int low = 0, high = 0, pos = 0; for (int i = 0; i < n; i++) { if (m[a[i]]) { continue; } int len = 1; m[a[i]] = true; for (int j = a[i]+1; m.find(j) != m.end(); j++) { m[j] = true; len++; high++; } for (int j = a[i]-1; m.find(j) != m.end(); j--) { m[j] = true; len++; low++; } if (len > max) { max = len; pos = i; } } small = a[pos] - low; big = a[pos] + high; return max;}int main(){ int a[] = {100, 3, 200, 4, 1, 2, 5}; int small, big; cout << longestConSeq(a, sizeof(a)/sizeof(a[0]),small, big) << endl; for (int i = small; i <= big; i++) { cout << i << " "; } cout << endl; return 0;}
0 0
- 求出最长连续序列,并打印出序列
- 最长回文序列(求出最长的并且打印出来)
- 动态规划解决求数组中最长递增子序列长度,并能够打印出增长的序列
- 【最长连续序列问题】
- 最长连续序列
- 最长连续序列
- 最长连续序列
- 连续最长子序列
- 最长连续子序列
- 最长连续序列
- 最长连续序列
- lintcode ----最长连续序列
- 最长连续序列长度
- 最长连续子序列
- LintCode:最长连续序列
- LintCode-最长连续序列
- 最长连续序列
- LintCode : 最长连续序列
- ffmpeg代码实现自定义decoder
- 数值的整数次方
- iOS 堆和栈的区别
- 2015中国二三线城市互联网跨界经济报告
- 我的MYSQL学习心得(4) : 数据类型 上
- 求出最长连续序列,并打印出序列
- 使用AssetsLibrary.Framework创建多图片选择控制器(翻译)
- Android之 MTP框架和流程分析
- Android之android:launchMode
- 我的MYSQL学习心得(4) : 数据类型 下
- NSDate、NSCalendar
- wpa_supplicant2.2 移植
- (网络层)IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)
- 使用Python绘制热图的库