成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

leetcode 38 count and say

不知名網(wǎng)友 / 2210人閱讀

摘要:而讀起來是兩個,所以第三個字符串就應當是。同理第四個字符串是一個一個,因此是。依次類推而我們的目的是,對于輸入的正整數(shù),我們要給出第個字符串是什么。這里采用了是為了減少內存的開銷。解法設置初始字符串將重新賦值當前字符字符計數(shù)

題目詳情
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"。依次類推
而我們的目的是,對于輸入的正整數(shù)n,我們要給出第n個字符串是什么。

Example 1:
Input: 1
Output: "1"
Example 2:
Input: 4
Output: "1211"

想法

如果我們要獲得第n個字符串,那我們首先要獲得第n-1個字符串的值。所以我們設置一個prev變量來保存每一次操作的到的字符串的值,從而進行下一次操作。

操作其實就是從前到后對每一個字符(say)連續(xù)出現(xiàn)的次數(shù)計數(shù)(count),如果字符變了,那么就將剛才count和say的值加入curr字符串中。

這里采用了StringBuilder是為了減少內存的開銷。這里說一下StringBuilder 和 String 的區(qū)別,在使用String時,每次的修改都會使系統(tǒng)在內存中創(chuàng)建一個新的對象,這樣在我們對string進行頻繁修改的時候,string對象的開銷可能會十分昂貴?!?/p> 解法

public class CountandSay_38 {
    public String countAndSay(int n) {
        //設置初始字符串            
        StringBuilder curr = new StringBuilder("1");
        StringBuilder prev;
        
        for(int i=1;i           
               
                                           
                       
                 

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/69941.html

相關文章

  • leetcode38 count and say 數(shù)數(shù)游戲

    摘要:題目要求英文的題目有點繞口,所以去網(wǎng)上找了一下題目的意思。題目的核心邏輯在于將口語化的數(shù)數(shù)字轉化為字符串。 題目要求 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...

    dabai 評論0 收藏0
  • [Leetcode] Count and Say 數(shù)個數(shù)

    摘要:反轉字符法復雜度時間空間思路因為數(shù)字不好從前向后遍歷每一位要先統(tǒng)計一共有多少位,比較麻煩,所以我們直接從后向前計數(shù),最后把結果倒置就行了。 Count Consecutive Digits in Integer Count consecutive digits and say it. For example, return 132341 if input is 1112224. The...

    whjin 評論0 收藏0
  • [Leetcode] Count And Say 外觀序列

    摘要:遞歸解法復雜度時間空間遞歸棧思路該序列又叫做外觀序列,無論如何我們都得將前一個序列元素算出來,才能計算后一個序列元素。當遞歸至的時候返回初始數(shù)字。另外,比如初始數(shù)字,第一次變成了,我們可以發(fā)現(xiàn)大于的數(shù)都只會一個一個出現(xiàn)了。 Count And Say The count-and-say sequence is the sequence of integers beginning as...

    Towers 評論0 收藏0
  • leetcode部分題目答案之JavaScript版

    摘要:自己沒事刷的一些的題目,若有更好的解法,希望能夠一起探討項目地址 自己沒事刷的一些LeetCode的題目,若有更好的解法,希望能夠一起探討 Number Problem Solution Difficulty 204 Count Primes JavaScript Easy 202 Happy Number JavaScript Easy 190 Reverse Bi...

    alphahans 評論0 收藏0
  • leetcode 部分解答索引(持續(xù)更新~)

    摘要:前言從開始寫相關的博客到現(xiàn)在也蠻多篇了。而且當時也沒有按順序寫現(xiàn)在翻起來覺得蠻亂的。可能大家看著也非常不方便。所以在這里做個索引嘻嘻。順序整理更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新 前言 從開始寫leetcode相關的博客到現(xiàn)在也蠻多篇了。而且當時也沒有按順序寫~現(xiàn)在翻起來覺得蠻亂的??赡艽蠹铱粗卜浅2环奖?。所以在這里做個索引嘻嘻。 順序整理 1~50 1...

    leo108 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<