【每日LeetCode】38. 报数

作者: 码蹄疾 | 来源:发表于2018-07-31 23:41 被阅读7次

题目

报数序列是指一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:

  1. 1
    
  2. 11
    
  3. 21
    
  4. 1211
    
  5. 111221
    

1 被读作 "one 1" ("一个一") , 即 11。
11 被读作 "two 1s" ("两个一"), 即 21。
21 被读作 "one 2", "one 1" ("一个二" , "一个一") , 即 1211。

给定一个正整数 n ,输出报数序列的第 n 项。

注意:整数顺序将表示为一个字符串。

示例 1:

输入: 1, 输出: "1"

示例 2:

输入: 4, 输出: "1211"

题解

这道题关键是先理解清楚题意。由一个序列报数生成下一个序列,求解的是,报数的第n项,所以肯定要循环n次即可。生成规则方面,就是先遍历当前的字符串,然后在相同的字符个数进行报数即可。这里java实现的话还要注意一个细节,就是StringBuider()不会每次都new 一个对象出来,避免开销。

    public String countAndSay(int n) {
        String s = "1";
        int k;
        for (int i = 1; i < n; i++) {
            StringBuilder t = new StringBuilder();
            for (int j = 0; j < s.length(); j = k) {
                k = j;
                //找有几个相同的.
                while(k < s.length() && s.charAt(k) == s.charAt(j)) {
                    k++;
                }
                t.append(k - j).append(s.charAt(j));
            }
            s = t.toString();
        }
        return s;
    }

每日英语

  • inhabittant(n.)居民
  • inhabit (v.)居住于
    • -habit 在某个地方住习惯了就叫居民了
  • dwell in 居住于
  • dwell on 老想着
    • -d 坐着的词根,-d字母像不像一个屁股在那里蹲着.
  • settle (v.) 解决
    • settle the issue 解决问题
    • solve the problem
    • -sit = -set 词根元音替换意思不变,定向来的词根(把事情搞定)
    • settle down 定居,比如在北京打拼几年去二线城市定居
  • saddle 马鞍
    • 机器学习中的马鞍点: saddle point
  • settlement(n.) 和解(搞定的感觉)
扫码关注更多题解

相关文章

  • leetcode 38.报数 讲解

    LeetCode 38. 报数 链接https://leetcode-cn.com/problems/count-...

  • 【每日LeetCode】38. 报数

    题目 报数序列是指一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1 11 21 121...

  • [LeetCode] 38. 报数

    38. 报数报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1 被读作 "on...

  • LeetCode 38. 报数(To do)

    报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: C C++

  • LeetCode 38. 报数 Count and Say

    【题目描述】报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1 被读作 "o...

  • LeetCode算法题-38. 报数(Swift)

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/count-...

  • 38.报数

    题目报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1 11 21 1211 ...

  • 38. 报数

    文|Seraph 01 | 问题 报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下...

  • 38. 报数

    LeetCode 的算法题 PHP解法记录 报数序列是指一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。...

  • 38. 报数

网友评论

    本文标题:【每日LeetCode】38. 报数

    本文链接:https://www.haomeiwen.com/subject/ymwkvftx.html