摘要:而讀起來是兩個,所以第三個字符串就應當是。同理第四個字符串是一個一個,因此是。依次類推而我們的目的是,對于輸入的正整數,我們要給出第個字符串是什么。這里采用了是為了減少內存的開銷。解法設置初始字符串將重新賦值當前字符字符計數
題目詳情
The count-and-say sequence is the sequence of integers with the first five terms as following:想法
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 term of the count-and-say sequence.這道題目理解起來有一些晦澀。大意就是對于一串字符串,我們要用“讀”的方式把這個字符串讀一遍,“讀”結果就是下一個字符串的值。
例如初始字符串是“1”,讀的結果就是1個11,所以第二個字符串就是11。而11讀起來是兩個1,所以第三個字符串就應當是“21”。同理第四個字符串是一個2一個1,因此是"1211"。依次類推
而我們的目的是,對于輸入的正整數n,我們要給出第n個字符串是什么。Example 1:
Input: 1
Output: "1"
Example 2:
Input: 4
Output: "1211"
如果我們要獲得第n個字符串,那我們首先要獲得第n-1個字符串的值。所以我們設置一個prev變量來保存每一次操作的到的字符串的值,從而進行下一次操作。
操作其實就是從前到后對每一個字符(say)連續出現的次數計數(count),如果字符變了,那么就將剛才count和say的值加入curr字符串中。
這里采用了StringBuilder是為了減少內存的開銷。這里說一下StringBuilder 和 String 的區別,在使用String時,每次的修改都會使系統在內存中創建一個新的對象,這樣在我們對string進行頻繁修改的時候,string對象的開銷可能會十分昂貴。‘
解法public class CountandSay_38 { public String countAndSay(int n) { //設置初始字符串 StringBuilder curr = new StringBuilder("1"); StringBuilder prev; for(int i=1;i
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69941.html
摘要:題目要求英文的題目有點繞口,所以去網上找了一下題目的意思。題目的核心邏輯在于將口語化的數數字轉化為字符串。 題目要求 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...
摘要:反轉字符法復雜度時間空間思路因為數字不好從前向后遍歷每一位要先統計一共有多少位,比較麻煩,所以我們直接從后向前計數,最后把結果倒置就行了。 Count Consecutive Digits in Integer Count consecutive digits and say it. For example, return 132341 if input is 1112224. The...
摘要:遞歸解法復雜度時間空間遞歸棧思路該序列又叫做外觀序列,無論如何我們都得將前一個序列元素算出來,才能計算后一個序列元素。當遞歸至的時候返回初始數字。另外,比如初始數字,第一次變成了,我們可以發現大于的數都只會一個一個出現了。 Count And Say The count-and-say sequence is the sequence of integers beginning as...
摘要:自己沒事刷的一些的題目,若有更好的解法,希望能夠一起探討項目地址 自己沒事刷的一些LeetCode的題目,若有更好的解法,希望能夠一起探討 Number Problem Solution Difficulty 204 Count Primes JavaScript Easy 202 Happy Number JavaScript Easy 190 Reverse Bi...
摘要:前言從開始寫相關的博客到現在也蠻多篇了。而且當時也沒有按順序寫現在翻起來覺得蠻亂的。可能大家看著也非常不方便。所以在這里做個索引嘻嘻。順序整理更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新 前言 從開始寫leetcode相關的博客到現在也蠻多篇了。而且當時也沒有按順序寫~現在翻起來覺得蠻亂的。可能大家看著也非常不方便。所以在這里做個索引嘻嘻。 順序整理 1~50 1...
閱讀 3735·2023-01-11 11:02
閱讀 4244·2023-01-11 11:02
閱讀 3050·2023-01-11 11:02
閱讀 5181·2023-01-11 11:02
閱讀 4737·2023-01-11 11:02
閱讀 5534·2023-01-11 11:02
閱讀 5313·2023-01-11 11:02
閱讀 3990·2023-01-11 11:02