Leetcode 481 Magical String
A magical string S consists of only '1' and '2' and obeys the following rules:
The string S is magical because concatenating the number of contiguous occurrences of characters '1' and '2' generates the string S itself.
The first few elements of string S is the following: S = "1221121221221121122……"
If we group the consecutive '1's and '2's in S, it will be:
1 22 11 2 1 22 1 22 11 2 11 22 ......
and the occurrences of '1's or '2's in each group are:
1 2 2 1 1 2 1 2 2 1 2 2 ......
You can see that the occurrence sequence above is the S itself.
Given an integer N as input, return the number of '1's in the first N number in the magical string S.
Note: N will not exceed 100,000.
Example 1:
Input: 6 Output: 3 Explanation: The first 6 elements of magical string S is "12211" and it contains three 1's, so return 3.
這個題目考察的就是簡單的模擬,題意是前面的數表示的是有多少個相應的1或者是2,然後返回總共有多少個1
1)
class Solution {
public:
int magicalString(int n) {
string s = "122";//定義一個原始串
for(int i = 2, k = 1; i < n ; i++,k = 3 - k){
for(int j = 0 ; j < s[i] - '0' ;j++){//轉化為數
s += to_string(k);//以字串的方式新增上去
}
}
int res = 0;
for(int i = 0 ; i < n ;i++){
res += s[i] == '1';//返回其中1的個數
}
return res;
}
};
相關文章
- [LeetCode] Rotate StringLeetCode
- Leetcode 8 String to Integer (atoi)LeetCode
- 【Leetcode】767. Reorganize StringLeetCode
- Leetcode 151 Reverse Words in a StringLeetCode
- leetcode 344. Reverse StringLeetCode
- 【Leetcode】1528. Shuffle StringLeetCode
- [LeetCode] 678. Valid Parenthesis StringLeetCode
- [LeetCode] 844. Backspace String CompareLeetCode
- [LeetCode] 3163. String Compression IIILeetCode
- LeetCode 438. Find All Anagrams in a StringLeetCode
- LeetCode 394. Decode String All In OneLeetCode
- LeetCode String to Integer (atoi)(008)解法總結LeetCode
- LeetCode之Construct String from Binary Tree(Kotlin)LeetCodeStructKotlin
- LeetCode C++ 387. First Unique Character in a String【String/Hash Table】簡單LeetCodeC++
- [LeetCode] 1545. Find Kth Bit in Nth Binary StringLeetCode
- [LeetCode] 2825. Make String a Subsequence Using Cyclic IncrementsLeetCodeREM
- [LeetCode] 1750. Minimum Length of String After Deleting Similar EndsLeetCodeMILA
- Leetcode 8. String to Integer (atoi) 字串轉整數 (atoi)LeetCode字串
- LeetCode 1209. Remove All Adjacent Duplicates in String II 有坑LeetCodeREM
- 2018icpc 南京網路賽L Magical Girl Haze
- LeetCode C++ 316. Remove Duplicate Letters【Stack/Greedy/String】中等LeetCodeC++REM
- 【躍遷之路】【481天】刻意練習系列240(2018.06.01)
- (轉)leetcode:Find All Anagrams in a String 滑動視窗方法總結LeetCode
- String,String Builder,String Buffer-原始碼UI原始碼
- Failed to execute user defined function(anonfun$concatStr$1: (map<string,string>, string) => string)AIFunction
- String s = “hello“和String s = new String(“hello“)的區別
- String
- rust 中 str 與 String; &str &StringRust
- 【JDK】分析 String str=““ 與 new String()JDK
- 轉換String三種方式比較:toString()、String.valueOf()、(String)
- JavaScript String()JavaScript
- spring - stringSpring
- String …params
- String模板
- python stringPython
- string 字串字串
- python stringPython
- Date or String