力扣(LeetCode)38. 外观数列(C++)

news2024/11/28 14:41:45

双指针+模拟

初始字符串 s s s 已给定,根据 s s s 构造下一个外观数列 t t t ,构造完毕, s = t s=t s=t ,循环 n − 1 n-1 n1 次,构造出一个外观数列。

构造步骤 :
j j j 指向当前元素 , k k k j j j 往右,记录 s [ j ] s[j] s[j] 出现的次数,当 s [ k ] s[k] s[k] 不等于 s [ j ] s[j] s[j] ,将 k k k 记录的 s [ j ] s[j] s[j] 的次数加入临时串 t t t ,令 j = k j=k j=k ,此时 s [ j ] s[j] s[j] 指向下一个不同元素,循环上述操作。

class Solution {
public:
    string countAndSay(int n) {
        string s = "1";
        for(int i = 0;i<n-1;i++){
            string t;
            for(int j = 0;j<s.size();){
                int k = j + 1;
                while(k<s.size()&&s[k]==s[j]) k ++;
                t += to_string(k-j) + s[j];
                j = k;
            }
            s = t;
        }
        return s;
    }
};
  1. 时间复杂度 : O ( n × M ) O(n\times M) O(n×M) n n n 已给定, M M M 是构造的最长子串 , 最坏时间复杂度 O ( n × M ) O(n\times M) O(n×M)
  2. 空间复杂度 : O ( M ) O(M) O(M) s s s 的最大长度是 M M M ,对应空间复杂度 O ( M ) O(M) O(M)

致语

理解思路很重要!
欢迎读者在评论区留言,答主看到就会回复的。

AC

AC

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/26763.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新库上线 | CnOpenData招聘公司基本信息扩展数据

招聘公司基本信息扩展数据 一、数据简介 线上招聘是指各公司将其岗位需求、工作地点能力要求和薪酬等招聘信息发布在互联网上&#xff0c;供求职者参考&#xff0c;以线上的方式进行招聘。线上招聘网站是通过互联网相关技术&#xff0c;集结这些线上招聘信息&#xff0c;帮助雇…

Linux下自动删除过期备份和自动异地备份的脚本

每天自动删除过期备份 首先编写一个简单的Shell脚本DeleteExpireBackup.sh&#xff1a; 1 2 3 4 5 6 7 #!/bin/bash # 修改需要删除的路径 location"/database/backup/" # 删除最后修改时间为30天以前的备份文件夹 find $location -mtime 30 -type d | xargs rm …

3dmax渲染大图有斑点怎么办?

嗨喽大家好&#xff0c;经常有后台私信问&#xff1a;3dmax渲染大图老是有斑点怎么办&#xff1f;而且斑点有白色的&#xff0c;还有绿色、黑色甚至彩色。怎么去除这些斑点呢&#xff1f; 其实以上的常见的斑点问题&#xff0c;大部分是灯光设置的问题。今天我们便来盘点下下面…

第二章:字节码指令集与解析案例

一、概述执行模型字节码与数据类型字节码指令分类加载与存储指令局部变量压栈指令常量入栈指令出栈装入局部变量表指令算术运算指令代码举例一代码举例二代码举例三&#xff1a;i 和 i 的区别比较指令的说明类型转换指令宽化类型转换(Widening Numeric Conversions)窄化类型转换…

指纹浏览器是什么?可以用来解决跨境电商的什么问题?

如果你是跨境电商中的一员&#xff0c;那我相信你肯定不陌生指纹浏览器吧&#xff01;毕竟指纹浏览器可以说是每个跨境人必备的工具了&#xff0c;更别说它的一系列功能简直是为跨境电商商家量身打造的&#xff01; 龙哥作为跨境老手&#xff0c;对指纹浏览器不要太熟悉&#x…

葡萄糖-顺铂Glucose-cisplatin|葡萄糖-聚乙二醇-顺铂cisplatin-PEG-Glucose

葡萄糖-顺铂Glucose-cisplatin|葡萄糖-聚乙二醇-顺铂cisplatin-PEG-Glucose 中文名称&#xff1a;葡萄糖-顺铂 英文名称&#xff1a;Glucose-cisplatin 别称&#xff1a;生物素修饰葡萄糖&#xff0c;生物素-葡萄糖 PEG接枝修饰葡萄糖 葡萄糖-聚乙二醇-顺铂 cisplatin-PE…

Go:命令行参数解析包 flag 简介

文章目录示例运行小结在 Golang 程序中有很多种方法来处理命令行参数。简单的情况下可以不使用任何库&#xff0c;直接处理 os.Args&#xff1b;其实 Golang 的标准库提供了 flag 包来处理命令行参数&#xff1b;还有第三方提供的处理命令行参数的库&#xff0c;比如 Pflag 等。…

【附源码】计算机毕业设计JAVA研究生推免系统

【附源码】计算机毕业设计JAVA研究生推免系统 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JAVA myba…

期货开户手机APP有哪些?

一、文华随身行 随身行是文华财经旗下APP软件&#xff0c;提供行情、图表、交易、行情讨论等综合服务。随身行是主流的期货交易软件&#xff0c;已接通全国139家期货公司 不过目前使用文华随身行APP是需要付费的&#xff0c;是直接向软件公司付费&#xff0c;与期货公司无关&…

2022 裁员风潮着实有点大,席卷全球~

近期无论国内外&#xff0c;裁员新闻接连不断&#xff0c;这次裁员风&#xff0c;给人的感觉&#xff0c;像是全球所有公司达成了 “某种协议”&#xff0c;行动上高度一致&#xff0c;开始接二连三的裁员&#xff0c;以往每年各个公司都有裁员&#xff0c;只是比例很小&#x…

【SpringBoot】SpringBoot+SpringSecurity+CAS实现单点登录

文章目录一.CAS的概述1.SSO2.CAS3.概念二.CAS的流程三.CAS服务端部署1.下载地址2.源码打包3.部署运行4. java.io.FileNotFoundException: \etc\cas\thekeystore (系统找不到指定的文件。)四.CAS的定制1.定制数据源2.兼容 HTTP3.定制登录页五.SpringBoot集成CAS1.工程创建2.导入…

2022年程序员“生存报告”出炉,仅23%月薪不足1万,你在什么段位?

转眼2022年仅剩2个月&#xff0c;在充满未知的这一年&#xff0c;程序员群体的职场现状如何&#xff1f; 近日&#xff0c;拉勾招聘数据研究院对程序员群体开展深度调研后&#xff0c;发布了一份《2022程序员群体职场洞察报告》&#xff08;以下简称报告&#xff09;&#xff…

深入理解 MultipartFile 处理文件

在Java中处理文件向来是一种不是很方便的操作&#xff0c;然后随着Spring框架的崛起&#xff0c;使用Spring框架中的MultipartFile来处理文件也是件很方便的事了&#xff0c;今天就为大家带来剖析MultipartFile的神秘面纱。MultipartFile本身并没有很复杂的结构&#xff0c;也正…

DBCO点击试剂特点:DBCO-PEG12-OH,DBCO-PEG12-Tos,DBCO-TCO

DBCO 试剂是一类点击化学标记试剂&#xff0c;含有非常活泼的 DBCO&#xff08;&#xff08;二苯并环辛炔&#xff09;基团&#xff0c;DBCO 试剂可以通过无铜点击化学与叠氮化物标记的分子或生物分子发生反应。DBCO 点击化学可以在水性缓冲液中运行&#xff0c;也可以在有机溶…

pyinstaller打包python脚本为exe可执行文件实例:错误排查小脚本

根据TIOBE全球编程语言排名&#xff0c;python是目前世界排名第一的编程语言。考虑到代码及数据的保密性&#xff0c;以及其他人电脑上可能没有装python环境&#xff0c;因此我们需要将自己编写的python脚本打包成exe格式的可执行文件发送给其他人使用。小编推荐一款名为pyinst…

Spring Boot 2.7.5 整合 Swagger 3 实现可交互的后端接口文档

文章目录前言集成访问代码参考文献前言 问: 什么是 OpenAPI? 答: OpenAPI 规范&#xff08;OAS&#xff09;&#xff0c;是定义一个标准的、与具体编程语言无关的RESTful API的规范。OpenAPI 规范使得人类和计算机都能在“不接触任何程序源代码和文档、不监控网络通信”的情…

智能音箱中采用的数字音频功放

智能改变生活&#xff0c;随高科技的发展智能科技已经融入我们生活当中&#xff0c;智能家居和IOT物联网的发展越来越深入人心&#xff0c;从手机到家电在到家居因为智能化而都在慢慢的改变&#xff1b;智能音响&#xff0c;足不出户&#xff0c;看尽大千世界&#xff1b;一屋一…

《RO 仙境传说》 Game Jam 获奖名单公布!

一睹获胜者的作品吧&#xff5e; 《RO 仙境传说》Game Jam 已经圆满结束&#xff01;许多社区成员都创造了非常棒的体验。 祝贺所有获奖者&#xff0c;并感谢每一位参与并分享了想法的用户。 接下来将公布综合优秀奖、最佳创意奖和最佳设计奖的得主&#xff01;获奖名单是由 Th…

第 21 章 InnoDB Cluster

第21章 InnoDB Cluster 文章目录第21章 InnoDB Cluster本章介绍 MySQL InnoDB Cluster &#xff0c;它整合了 MySQL 多项技术&#xff0c;使您能够部署和管理 MySQL 的完整集成的高可用解决方案。本内容是 InnoDB Cluster 的高级概述&#xff0c;有关完整文档&#xff0c;请参阅…

面试了个阿里P7程序员,他让我见识到什么才是“精通高并发与调优”

蓦然回首自己做开发已经十年了&#xff0c;这十年中我获得了很多&#xff0c;技术能力、培训、出国、大公司的经历&#xff0c;还有很多很好的朋友。但再仔细一想&#xff0c;这十年中我至少浪费了五年时间&#xff0c;这五年可以足够让自己成长为一个优秀的程序员&#xff0c;…