Leetcodes Solution 38 Count and Say
匯總
雪之下雪乃:leetcode解題總匯The count-and-say sequence is the sequence of integers with the first five terms as following:
1. 12. 113. 214. 12115. 111221
1 is read off as "one 1" or 11.
11 is read off as "two 1s" or 21.
21 is read off as "one 2, then one 1" or 1211.Given an integer n, generate the nth term of the count-and-say sequence.
Note: Each term of the sequence of integers will be represented as a string.
Example 1:
Input: 1Output: "1"
Example 2:
Input: 4Output: "1211"
思路1
直接根據輸入的n對數列數n次
class Solution{public: string countAndSay(int n){ if(n == 0) return ""; string res = "1"; while(--n){ string cur = ""; for(int i = 0; i < res.size(); i++){ int count = 1; while((i + 1 < res.size()) && (res[i] == res[i+1])){ count++; i++; } cur += to_string(count) + res[i]; } res = cur; } return res; }};
推薦閱讀:
※九章演算法 | Google面試題:原子計數
※027 Remove Element[E]
※面試不再怕,20行Python代碼幫你搞懂LRU演算法
※精選 TOP45 值得學習的Python項目
※期望為線性時間的選擇演算法
