Count and Say (Array Length Encoding) -- LeetCode
1, 11, 21, 1211, 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 sequence.
Note: The sequence of integers will be represented as a string.
사고방식: 과정을 모의하면 된다.여기서 배운 게 stl에 int 회전string이라는 함수가 있어요. to_.string().예전에는 줄곧stringstream으로 돌았는데...
1 class Solution { 2 public: 3 string countAndSay(int n) { 4 if (n < 1) return ""; 5 string res = "1"; 6 for (int i = 2; i <= n; i++) 7 { 8 string tem; 9 char cur = res[0]; 10 int count = 1; 11 for (int j = 1, n = res.size(); j < n; j++) 12 { 13 if (cur == res[j]) count++; 14 else
15 { 16 tem.append(to_string(count) + cur); 17 cur = res[j]; 18 count = 1; 19 } 20 } 21 tem.append(to_string(count) + cur); 22 res = tem; 23 } 24 return res; 25 } 26 };
Amazon 면접 문제에array length encoding이 하나 있는데 이 문제와 차이가 많지 않습니다. 단지 int수 그룹을 주었을 뿐입니다. 돌아오는 결과도 int수 그룹이고 인코딩을 한 번만 하면 됩니다.
1 class Solution 2 { 3 public: 4 vector<int> ArrayLengthEncoding(vector<int>& bits) 5 { 6 vector<int> res; 7 if (!bits.size()) return res; 8 int cur = bits[0], count = 1; 9 for (int i = 1, n = bits.size(); i < n; i++) 10 { 11 if (bits[i] == cur) count++; 12 else
13 { 14 res.push_back(cur); 15 res.push_back(count); 16 cur = bits[i]; 17 count = 1; 18 } 19 } 20 //we need to add the last part of bits
21 res.push_back(cur); 22 res.push_back(count); 23 return res; 24 } 25 };
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.