leetcode-38外观数列

leetcode-38外观数列原题链接给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1) = “1”countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。前五项如下:111211211111221第一项是数字 1描述前一项,这个数是 1 即 “ 一 个 1 ”,记作 “11”


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

原题链接
给定一个正整数 n ,输出外观数列的第 n 项。

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

你可以将其视作是由递归公式定义的数字字符串序列:

countAndSay(1) = “1”
countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。
前五项如下:

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

第一项是数字 1
描述前一项,这个数是 1 即 “ 一 个 1 ”,记作 “11”
描述前一项,这个数是 11 即 “ 二 个 1 ” ,记作 “21”
描述前一项,这个数是 21 即 “ 一 个 2 + 一 个 1 ” ,记作 “1211”
描述前一项,这个数是 1211 即 “ 一 个 1 + 一 个 2 + 二 个 1 ” ,记作 “111221”
要 描述 一个数字字符串,首先要将字符串分割为 最小 数量的组,每个组都由连续的最多 相同字符 组成。然后对于每个组,先描述字符的数量,然后描述字符,形成一个描述组。要将描述转换为数字字符串,先将每组中的字符数量用数字替换,再将所有描述组连接起来。

例如,数字字符串 “3322251” 的描述如下图:

在这里插入图片描述

示例 1:

输入:n = 1
输出:"1"
解释:这是一个基本样例。
示例 2:

输入:n = 4
输出:"1211"
解释:
countAndSay(1) = "1"
countAndSay(2) = 读 "1" = 一 个 1 = "11"
countAndSay(3) = 读 "11" = 二 个 1 = "21"
countAndSay(4) = 读 "21" = 一 个 2 + 一 个 1 = "12" + "11" = "1211"
 

提示:

1 <= n <= 30

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/count-and-say
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168736.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • Android Toast的立即取消与显示「建议收藏」

    Android Toast的立即取消与显示「建议收藏」我们很多时候要用到Toast来提示消息或者输出内容,但是比较让人烦恼的是Toast它有一定的显示时间,虽然我们可以设置显示时长,但要达到立即消失的目的,还是要用到Cancel方法,下面就介绍一下它使用中的注意要点。在显示消息的时候,最好用变量来实现比较好控制。Toastmtoast;if(mtoast!=null){  mtoast.cancel();//注销之前显示的那条信息  mtoas…

    2022年9月12日
  • Origin2017、Origin2018详细安装教程

    Origin2017、Origin2018详细安装教程1.Origin2017安装1.1安装步骤:解压安装包,打开“Origin2017”目录,双击“setup.exe”开始安装安装步骤1,点击【下一步】安装步骤2,点击【是】,允许用户协议安装步骤3,选择【安装产品(需要序列号)】,点击【下一步】安装步骤4,输入任意用户名,公司名称,安装序列号为【DF2W8-9089-7991320】,然后点击【下一步】安装步骤5,根据系统自动匹配,64位系统默认选择【64位Origin】,32位系统无此项,点击【下一步】安装步骤6,默认装在

    2022年4月28日
  • asp.net 跳转页面[通俗易懂]

    asp.net 跳转页面[通俗易懂]①response.redirect这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护。但速度慢是其最大缺陷!redirect跳转机制:首先是发送一个http请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转请求到服务器端。需要注意的是跳转后内部空间保存的所有数据信息将会

    2022年7月20日
  • 行存储(关系型数据库)与列存储(hbase,es聚合的doc_value)[通俗易懂]

    行存储(关系型数据库)与列存储(hbase,es聚合的doc_value)[通俗易懂]1.为什么要按列存储列式存储(Columnarorcolumn-based)是相对于传统关系型数据库的行式存储(Row-basedstorage)来说的。简单来说两者的区别就是如何组织表:ØRow-basedstoragestoresatableinasequenceofrows.ØColumn-basedstoragestoresatablein…

    2022年7月14日
  • IE中出现 “Stack overflow at line” 错误的解决方法

    IE中出现 “Stack overflow at line” 错误的解决方法在做网站时遇到一个问题,网站用的以前的程序,在没有改过什么程序的情况下,页面总是提示Stackoverflowatline0的错误,而以前的网站都正常没有出现过这种情况,在网上找了一下解决办法

    2022年7月1日
  • IdentityServer4总结[通俗易懂]

    IdentityServer4总结[通俗易懂]一.客户端模式客户端模式只对客户端进行授权,不涉及到用户信息。如果API需要提供到第三方应用,第三方应用自己做用户授权,不需要用到用户资源,就可以用客户端模式,只对客户端进行授权访问api资源。1.添加客户端newClient(){ClientId=”apiClientCd”,//客户端IdClientSecrets={newSecret(“apiSecret”.Sha256())},//客户端密码AllowedGrantTypes=GrantTypes.

    2022年10月29日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号