Lucky String
来源:互联网 发布:国际网络电话机 编辑:程序博客网 时间:2024/06/11 02:28
A string s is LUCKY if and only if the number of different characters in s is a fibonacci number. Given a string consisting of only lower case letters , output all its lucky non-empty substrings in lexicographical order. Same substrings should be printed once.
输入描述:
a string consisting no more than 100 lower case letters.
输出描述:
output the lucky substrings in lexicographical order.one per line. Same substrings should be printed once.
输入例子:
aabcd
输出例子:
a
aa
aab
aabc
ab
abc
b
bc
bcd
c
cd
d
微软的题目。
字符串处理,主要是找到子串,然后判断子串里不同的字符数。主要由三个难点:
1、判断子串里不同字符个数,可以用一个大小为26char数组来解决:如果出现过就置1,如果没有出现过就是默认的0.(用count函数解决)
2、主要就是要生成全部的substring,以及26以内的fibonacci数列。
26以内的fibonacci数列只有 1 2 3 5 8 13 21 34 55 89,用一个const int数组可以表示。然后用STL里的find函数来判断是否为fibonacci数列。
3、构建子串,用STL里的string的substr(int i,size_t size)可以解决。
#include<iostream>#include<vector>#include<set>#include<string>using namespace std;int count(string &s){ int num[26] = { 0 }; int R=0; for (int i = 0; i < s.length();i++) if (num[s[i] - 'a'] == 0) { R++; num[s[i] - 'a'] = 1; } return R++;}set<string> GetSubString(string &str){ string ss; set<string> substr; const int fib[] = { 1, 2, 3, 5, 8, 13, 21 }; vector<int> vec(fib, fib + 7); //子字符串的大小n; for (int n = 1; n <=str.length(); n++) { //i最大只能取到str.length()-n for (int i = 0; i <=str.length()-n; i++) { ss = str.substr(i, n); if (find(vec.begin(), vec.end(), count(ss)) != vec.end()) { substr.insert(ss); } } } return substr;}
- lucky string
- LUCKY STRING
- Lucky String
- Lucky String
- LUCKY STRING
- Lucky String
- LUCKY STRING
- LUCKY STRING
- Lucky String
- B. Lucky String
- 微软 LUCKY STRING
- 【微软】LUCKY STRING
- 算法笔试题:LUCKY STRING
- Codeforces 110B-Lucky String(技巧)
- 【string】#84 A. Nearly Lucky Number
- lucky
- Lucky draw
- Lucky Word
- Python 读写XML文件
- Lua学习笔记六——package
- 《自然语言计算机形式分析的理论与方法》读书笔记(3-1)
- Android图片加载框架ImageLoader框架的坑
- Linux命令--cd
- Lucky String
- highcharts制作平面饼图的代码详解
- 菜鸟学习中的数据类型转换总结
- 2017.7.3--2017.7.7
- http post 与put
- Bootstarp简单应用
- CGLIB的简易理解
- iOS结构设计与实施
- PHP常用函数总结