zoukankan      html  css  js  c++  java
  • 38. 外观数列

    「外观数列」是一个整数序列,从数字 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。



    思路:详见注释。
    初始字符串是:“1”,用ans字符串存放结果
    遍历字符串,变量tar记录遇到的字符,变量index记录tar出现的次数
    ————当指针指向的字符与tar相同时,将index自增1;
    ————当指针指向的字符与tar不同时,将index和tar添加到ans的末尾。

     1 class Solution(object):
     2     def countAndSay(self, n):
     3         """
     4         :type n: int
     5         :rtype: str
     6         """
     7         # 第一趟结果已知,不参与循环
     8         result = "1"
     9         n -= 1
    10         # 循环n-1趟
    11         while n > 0:
    12             # 初始化拼接字符串
    13             ans = ""
    14             # 记录当前字符,初始为原串首字符
    15             tar = result[0]
    16             # 计数器
    17             count = 1
    18             # 遍历原串,拼接结果字符串
    19             for i in range(1, len(result)):
    20                 # 指针指向的字符等于记录字符,计数器加1
    21                 if result[i] == tar:
    22                     count += 1
    23                 # 不相等,拼接结果串,并在之后重置记录字符、计数器
    24                 else:
    25                     # 字符串拼接
    26                     ans += str(count) + tar
    27                     # 重置
    28                     tar = result[i]
    29                     count = 1
    30             # 字符串拼接
    31             ans += str(count) + tar
    32             # 重置原字符串
    33             result = ans
    34             # 循环趟数减1
    35             n -= 1
    36         return result
    37 
    38 if __name__ == '__main__':
    39     solution = Solution()
    40     print(solution.countAndSay(1))
     
     
  • 相关阅读:
    PTA L2-026 小字辈 (25分)
    Python自学-day36(前端框架--VUE)
    WebGoat教程学习(七)--XPATH 注入(XPATH-Injection)
    WebGoat教程学习(六)--日志欺骗(Log Spoofing)
    WebGoat教程学习(五)--并发(Concurrency)
    WebGoat教程学习(四)--代码质量
    WebGoat教程学习(三)--Ajax安全
    WebGoat教程学习(二)--文件权限控制
    WebGoat教程学习(一)--环境配置
    Java排错随笔
  • 原文地址:https://www.cnblogs.com/panweiwei/p/12681988.html
Copyright © 2011-2022 走看看