zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    java- 输入任意数据,求和
    《大道至简》 第一章 读后感
    简易四则运算小程序二
    简易四则运算小程序
    登录界面
    《构建之法》阅读笔记六
    《构建之法》阅读笔记五
    《构建之法》阅读笔记四
    《构建之法》阅读笔记三
    《构建之法》阅读笔记二
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12841532.html
Copyright © 2011-2022 走看看