找规律
来源:互联网 发布:世界十大程序员 编辑:程序博客网 时间:2024/04/20 19:42
从下列给出的数列中找出规律,并按要求输出。
输入|输出
1||11
12||1112
21||1211
1112||3112
3112||132112
输入:输入为一行数据,
输出:输出为一行。
按照题目要求:先查找规律,输入1,输出11,输入为1个1,去掉“”“个”,输出为11
输入12,输出1112,输入为3个1,,1个2,去掉“个”,输出为3112
输入3112,输入为1个3,2个1,1个2,去掉“个”,输出为132112.
算法:
1、统计每个字符出现的个数,例如输入3112,则1个3,2个1,1个2。
2、去重,输入为3112,去重后为312,字符出现的个数为1个2,2个1,1个2。
3、输出:首先输出字符的个数,接着输出字符。
代码如下:
#include<iostream>#include<string>using namespace std;int main(){ string s; int num[10] = {0,0,0,0,0,0,0,0,0,0}; //每个字符的个数初始化为0 int* a; cin>>s; int len = s.size(); int n = len; for(int i = 0 ; i < len; i++) { num[s[i] - '0'] = 1; //个数初始化为1 //去重 for(int j = i + 1; j < len; j++) { if(s[i] == s[j]) { len--; for(int k = j; k < len; k++) { s[k] = s[k+1]; } j--; num[s[i] - '0'] += 1; //重复字符累加. } } } for(int i = 0; i < len; i++) cout<<num[s[i] - '0']<<s[i]; //按要求输出结果.}
测试用例
1、输入1, 输出为11
2、测试用例21
3、测试用例
3112
0 0
- 找规律
- 找规律!
- 找规律
- 找规律,
- 找规律
- 找规律
- 找规律
- 找规律
- 找规律
- 找规律
- 找规律
- 找规律
- 找规律
- 递归(找规律、找出口)
- 数字找规律
- POJ1450 Gridland [找规律]
- 1694. Spiral (找规律)
- 【找规律】【ZJOI2009】函数
- 【Java并发编程】之三:线程挂起、恢复与终止的正确方法(含代码)
- python发送邮件
- Rabbitmq Exchange使用建议
- java设计模式之装饰模式
- hdu 1698 线段树区间更新入门(lazy标记)
- 找规律
- HTML框架、背景和实体
- mac 下svn commit时提示An error occurred while contacting the repository
- Perl连接Oracle数据库的一些操作脚本【转】
- 计算机工具
- ubuntu远程桌面断开后重回上次会话
- 382. Linked List Random Node
- Rabbitmq 队列属性
- Linux screen 命令详解