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] Scramble StringLeetCode
- Leetcode Reverse Words in a StringLeetCode
- leetcode Reverse Words in a StringLeetCode
- leetcode String to Integer (atoi)LeetCode
- Leetcode-Scramble StringLeetCode
- Leetcode - String to Integer (atoi)LeetCode
- Scramble String leetcode javaLeetCodeJava
- HDU4941Magical Forest(map)REST
- leetcode 344. Reverse StringLeetCode
- Leetcode 8 String to Integer (atoi)LeetCode
- 【Leetcode】767. Reorganize StringLeetCode
- LeetCode-Reverse Vowels of a StringLeetCode
- LeetCode-Decode StringLeetCode
- LeetCode-Reverse Words in a StringLeetCode
- Leetcode-Interleaving StringLeetCode
- String to Integer (atoi) leetcode javaLeetCodeJava
- Interleaving String leetcode javaLeetCodeJava
- Reverse Words in a String leetcode javaLeetCodeJava
- Leetcode 151 Reverse Words in a StringLeetCode
- 【Leetcode】1528. Shuffle StringLeetCode
- LeetCode-Reverse Words in a String IILeetCode
- [LeetCode] 678. Valid Parenthesis StringLeetCode
- [LeetCode] 844. Backspace String CompareLeetCode
- LeetCode 438. Find All Anagrams in a StringLeetCode
- 344. Reverse String--LeetCode RecordLeetCode
- LeetCode151:Reverse Words in a StringLeetCode
- LeetCode C++ 387. First Unique Character in a String【String/Hash Table】簡單LeetCodeC++
- LeetCode-Rearrange String k Distance ApartLeetCode
- leetcode第一刷_Interleaving StringLeetCode
- LeetCode 394. Decode String All In OneLeetCode
- LeetCode String to Integer (atoi)(008)解法總結LeetCode
- [LeetCode] String to Integer (atoi) 字串轉為整數LeetCode字串
- 【LeetCode 8_字串_實現】String to Integer (atoi)LeetCode字串
- [LeetCode] 3163. String Compression IIILeetCode
- 【RAC】PMON: terminating the instance due to error 481Error
- Leetcode 8. String to Integer (atoi) 字串轉整數 (atoi)LeetCode字串
- LeetCode之Construct String from Binary Tree(Kotlin)LeetCodeStructKotlin