LeetCode38——Count and Say
LeetCode38——Count and Say
上一题对我来说实在太凶残了,所以我还是缓缓先做38题好了。。。
题意:
可以理解为求一个数组的第n项,而这个数组的通项公式可以这样理解:
第1项:1
第2项:11
第3项:21
第4项:1211
第5项:111221
第6项:312211
...
...
第n项:第n-1项的数字串从左到右读出来。
怎么说呢?比如说第2项是11,因为第1项是1,读起来就是1个1,所以第2项的11前一个1表示后一个1的计数,以此类推。
那么我们求第n项,就要知道第n-1项,要知道n-1项就要知道第n-2项......
反过来说,我们设计一个函数可以求出某数字串的下一个数字串,只要调用该函数n-1次就能得到我们想要的结果。
代码:
class Solution {
private:string Count(string s)//计算下一个序列{string result;int i=0;int count ;while (i < s.size()){count = 1;char temp;if (s[i] == s[i + 1]){while (s[i] == s[i + 1]){count++;i++;}temp = count + '0';result = result + temp + s[i];i++;}else{temp = '1';result = result + temp + s[i];i++;}}return result;}
public:string countAndSay(int n) {if (n == 1)return "1";string s = "1";while (--n){s = Count(s);}return s;}
};
LeetCode38——Count and Say相关推荐
- leetcode38 count and say
问题描述 leetcode38 报数题,facebook 的面试题,leetcode 上的描述写得并不是很通俗易懂,让人读起来云里雾里.看看别人的题目描述: 意思就是: 初始值第一行是 1. 第二行读 ...
- [Swift]LeetCode38. 报数 | Count and Say
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- 【bzoj 1833】【codevs 1359】 [ZJOI2010]count 数字计数(数位dp)
1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec Memory Limit: 64 MB Submit: 2774 Solved: 1230 [Submit ...
- LeetCode刷题记录6——696. Count Binary Substrings(easy)
LeetCode刷题记录6--696. Count Binary Substrings(easy) 目录 LeetCode刷题记录6--696. Count Binary Substrings(eas ...
- c++关于map的find和count的使用
使用count,返回的是被查找元素的个数.如果有,返回1:否则,返回0.注意,map中不存在相同元素,所以返回值只能是1或0. 使用find,返回的是被查找元素的位置,没有则返回map.end(). ...
- 递归/归并:count of smaller numbers求逆序数
已知数组nums,求新数组count,count[i]代表了在nums[i]右侧且比 nums[i]小的元素个数. 例如: nums = [5, 2, 6, 1], count = [2, 1, 1, ...
- bzoj 2588 Spoj 10628. Count on a tree (可持久化线段树)
Spoj 10628. Count on a tree Time Limit: 12 Sec Memory Limit: 128 MB Submit: 7669 Solved: 1894 [Sub ...
- windows7下解决caffe check failed registry.count(type) == 1(0 vs. 1) unknown layer type问题
在Windows7下调用vs2013生成的Caffe静态库时经常会提示Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer t ...
- 1093 Count PAT‘s
这题出现在"活用递推"专题下面,所谓递推就是这一步的结果和上一步的结果有直接联系.对于本题来说,从左到右,记到当前位置,一共出现的P的个数,如果当前位置是P,则个数就是上一位的加1 ...
最新文章
- Javascript操作table,tr,td和表格CSS样式设置小常识
- SQL语句练习(三)
- halcon初学者知识【16】如何将Image图象的区域拷贝出来?
- 万元华为旗舰新机超21万人预约,网友:有钱人真的多!
- 【路径规划】基于matlab遗传算法多车辆路径规划【含Matlab源码 704期】
- 太极发送卡片软件_QQxml卡片消息发送-防撤回等等安卓QQ插件Notified-支持太极框架 -发送QQ卡片消息...
- h330 mini raid卡驱动 linux,戴尔h330阵列卡驱动下载
- 光伏电站matlab仿真,光伏发电的MATLAB仿真.doc
- 神通数据库分页查询sql
- IEEE 802.2 LLC协议
- 在电脑上收听广播——龙卷风网络收音机试用
- Impala graceful shutdown功能介绍
- 【面试题】Redis SETEX /SETNX 的用法和区别
- python 余弦定理_自己实现文本相似度算法(余弦定理)
- 怎么把pdf格式转成word文档?如何将 PDF 转换为 Word
- 开源项目之饭否 for Android
- 计算机专业可以从事测绘行业吗,测绘类专业就业前景怎么样
- 从尽力而为到全力以赴
- 能长期做到以下32点的程序员,达到月薪30K往上,不太难:
- 2020年山东大学数字电路906真题