zoukankan      html  css  js  c++  java
  • Leetcode刷题记(12)—报数

    题目要求:

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

    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 项。

    题解:

    1.读懂题意!!!读懂题后写出来几个数字没有发现什么规律,总觉得要用递归循环,但不知道怎么写,就刚开始用最笨的方法写出了30个数,时间复杂度为O(1),但是真心晕,再多一点数就自闭了....

    2.后来查看了一下大家的评论,用两层循环即可:外层循环为输入的整数n,因为下一个数字依赖于上一个数字,第二层循环对上一个数字进行遍历,统计每一个数字出现的次数,然后插入到字符串中,这种方法虽然时间复杂度比暴力法高,但看起来舒爽多了:

  • 相关阅读:
    安卓移动端css3动画卡顿解决方法
    PDO方法实现增删改查
    NPOI 操作笔记
    基于emoji 国际通用表情在web上的输入与显示的记录
    restful 规范
    set与map
    ES6解构赋值
    scss的基本用法
    学习vue的第一二三四五天
    React Hooks --- useState 和 useEffect
  • 原文地址:https://www.cnblogs.com/wangjm63/p/11510695.html
Copyright © 2011-2022 走看看