LeetCode
来源:互联网 发布:室内设计什么软件好 编辑:程序博客网 时间:2024/05/16 05:04
解题代码:
classSolution {
public:
int magicalString(int n) {
if(n<=0)
return 0;
else if(n<=3)
return 1;
int count=1,j=3,last=2;
string str="122";
for(int i=2;j<n;i++){
if(str[i]=='1'){
if(last==1){
str+="2";
last=2;
j++;
}
else{
str+="1";
last=1;
count++;
j++;
}
}
else{
if(last==1){
str+="22";
last=2;
j+=2;
}
else{
str+="11";
last=1;
if(j+2>n){
count++;
j+=2;
}
else{
count+=2;
j+=2;
}
}
}
}
return count;
}
};
解题思路:
根据题目要求,输出前n位的magicalstring中1的数量。重点在于了解magicalstring的构造方法。因此若n为1到3之间的数,返回1,若n大于3,构造字符串“122”,根据magicalstring的规则,第三位为“2”,则后面需要添加连续的两个相同的数“11”,然后看第四位为“1”,因此后面需要添加一个数“2”;以此类推,直到构造出长度为n的magicalstring为止,同时可以算出前n位“1”的个数。
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode
- leetcode:
- leetcode:
- LeetCode
- leetcode
- LEETCODE
- leetcode
- leetCode
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode:
- leetcode
- ES6新特性概览
- 【运筹学基础】决策
- Leetcode Week4
- 第2章 简单的HTTP协议(1) HTTP协议
- R+中文︱中文文本处理杂货柜——chinese.misc
- LeetCode
- 简单的udp单人聊天程序
- 算法课第4周第1题——417. Pacific Atlantic Water Flow
- Error:Execution failed for task ‘:app:dexDebug’. > com.Android.ide.common.process.ProcessException:
- 【数据结构与算法】二分查找递归非递归实现
- eclipse常用功能快捷键,windows and mac
- “锁住对象”的synchronized
- 学习淘淘商城第三课(使用tomcat插件启动web工程)
- 相同的雪花----Hash和循环左移的实现