class Solution { public: string countAndSay(int n) { vector<string> s(31); s[1] = "1"; for(int i=2; i<=n; i++) { string tmp; char cur = s[i-1][0]; int curLength = 1; for(int c=1; c<s[i-1].length(); c++) { if(cur == s[i-1][c]) { curLength++; } else { tmp += to_string(curLength); tmp += cur; cur = s[i-1][c]; curLength = 1; } } tmp += to_string(curLength); tmp += cur; s[i] = tmp; } return s[n]; } };
這種做法算是滿 naive 的,不過還是可以練習一下實作,效率也不算太差:
Runtime: 4 ms, faster than 88.07% of C++ online submissions for Count and Say. Memory Usage: 9.1 MB, less than 27.72% of C++ online submissions for Count and Say.
Last updated 4 years ago