编程之美第二题 找连续数
2015-05-30 21:42
288 查看
题意: 就是给你一个乱序序列, 现在要找某个特定序列的个数, 某特定序列的要求为 该序列长度为k 且序列中为连续的序列 例如 13245 就为1-5的连续序列
题解: 没啥解法 , 两重for 暴力,就是这样
代码:
题解: 没啥解法 , 两重for 暴力,就是这样
代码:
[code]#include<stdio.h> #include<iostream> #include<algorithm> #include<map> #include<string.h> using namespace std; map<int, int> mark; int main() { int n, m, value[10005], mymap[1005], q, flag1 = 1 ; while(scanf("%d %d", &n, &m) != EOF) { memset(value, 0, sizeof(value)); for(int i = 1; i <= n; i++) { scanf("%d", &value[i]); } int sm, big; memset(mymap, 0, sizeof(mymap)); mark.clear(); for(int i = 1; i <= n; i++) { sm = value[i], big = value[i]; mark[value[i]] ++; mymap[1] ++; for(int j = 1; j <= 1000; j++) { if(i + j > n) break; if(mark[value[i+j]]) break; if(value[i+j] > big) big = value[i+j]; if(value[i+j] < sm) sm = value[i+j]; mark[value[i+j]] ++; if(value[i+j] > sm + j) continue; if(value[i+j] < big - j) continue; if(big > sm + j) continue; mymap[j+1] ++; } mark.clear(); } printf("Case #%d:\n", flag1 ++); while(m--) { scanf("%d", &q); printf("%d\n", mymap[q]); } } }
相关文章推荐
- PHP Cookies
- PHP Cookies
- java model2用户登录简单实例
- Java for LeetCode 129 Sum Root to Leaf Numbers
- 编程之美第一题 超级赛亚ACMer
- Java RandomAccessFile用法
- 三、JAVA中的IO流,输出流
- java抽象类和接口详解
- java的事件处理机制
- C语言及程序设计进阶例程-21 银行储蓄系统(第五版)开发
- 欧拉工程第46题:Goldbach's other conjecture
- 代码混装5.30
- 20条编程经验
- hadoop之HDFS/MapReduce的java接口简单测试
- rbenv Your user account isn't allowed to install to the system Rubygems
- 测试python awk sed 读取文件指定位置时的性能
- Spring AOP--引入增强
- C语言及程序设计进阶例程-19 链表应用
- Python学习之路二
- C语言及程序设计进阶例程-18 链表中结点的插入和删除