91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

leetCode 38. Count and Say 字符串

發布時間:2020-06-27 10:31:04 來源:網絡 閱讀:501 作者:313119992 欄目:編程語言

38. Count and Say


The count-and-say sequence is the sequence of integers beginning as follows:
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.

根據規律可以寫出后面的:

 1.     1
 2.     11
 3.     21
 4.     1211
 5.     111221 
 6.     312211
 7.     13112221
 8.     1113213211
 9.     31131211131221
 10.   13211311123113112211


思路:

1.用2個串來替換存儲記錄result,tmp。

2.記錄當前值n,獲取當前值最大連續長度m。

3.tmp串追加"m",再追加"n"。


代碼如下:

class Solution {
public:
    string countAndSay(int n) {
    	if (--n < 0)
    		return "";
    	string result = "1";
    	string tmp;  //臨時串
    	int step = 1;//步長
    	char cur;    //當前元素
    	while (n)
    	{
    		cur = result[0];
    		for (int i = 0; i < result.size(); i++)
    		{
    			if ( i+1 < result.size() && result[i] == result[i + 1])
    			{
    				step++;
    			}
    			else
    			{
    				stringstream stepStream;
    				stepStream << step;
    				string stepStr = stepStream.str();
    				tmp.append(1,stepStr[0]);
    				tmp.append(1,cur);
    				step = 1;
    				cur = result[i + 1];
    			}
    		}
    		swap(result, tmp);
    		tmp = "";
    		n--;
    	}
    	return result;
    }
};


2016-08-10 17:24:26

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

祁连县| 抚远县| 南投市| 东源县| 乐东| 荃湾区| 朝阳区| 策勒县| 中阳县| 读书| 东乡| 凯里市| 齐河县| 平陆县| 陕西省| 开封市| 秦皇岛市| 泽库县| 齐齐哈尔市| 镇巴县| 方正县| 永平县| 克拉玛依市| 伊宁县| 鸡泽县| 临颍县| 宁津县| 临湘市| 德保县| 九龙县| 洛川县| 中宁县| 贡觉县| 肥城市| 泰州市| 图木舒克市| 房产| 施秉县| 光泽县| 长乐市| 深州市|