• Leetcode练习(Python):字符串类:第38题:外观数列:「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。


    题目:
    外观数列:「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。

    前五项如下:

    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(1 ≤ n ≤ 30),输出外观数列的第 n 项。

    注意:整数序列中的每一项将表示为一个字符串。

    思路:

    找规律的问题,找了一上午没找到,太难受了,看了别人的解答才明白里面有这样的规律。

    程序:

    class Solution:
        def countAndSay(self, n: int) -> str:
            if n <= 0:
                return ""
            auxiliary = '1'
            if n == 1:
                return "1"
            for index in range(n - 1):
                head = auxiliary[0]
                result = ''
                counter = 0
                for index2 in auxiliary:
                    if index2 == head:
                        counter += 1
                    else:
                        result += str(counter) + head
                        head = index2
                        counter = 1
                result += str(counter) + head
                auxiliary = result
            return auxiliary
  • 相关阅读:
    学习Javascript闭包(Closure)
    JS的this原理
    页面锚点的设置
    JS异常捕获和抛出
    C++ 指针初始化要注意的地方
    Jupyter Notebook里面使用Matplotlib画图 图表中文乱码问题
    Matplotlib 基本图表的绘制
    Matplotlib 子图的创建
    Matplotlib 图表的样式参数
    Matplotlib 图表的基本参数设置
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12841532.html
Copyright © 2020-2023  润新知