【C++算法】41模拟_外观数列

ops/2024/12/14 11:47:01/

文章目录

    • 题目链接:
    • 题目描述:
    • 解法
    • C++ 算法代码:


题目链接:

38. 外观数列


题目描述:

9c64488aa22a13145c72d5149a3db1c7


解法

演示:

85ac24b587f54a5db47515f2655bcc78

模拟+双指针:

right++,直到leftright不同才停下来。

count=right-left

bcb73088dc2cc0ac038aa03f61c1f89f


C++ 算法代码:

class Solution 
{public:string countAndSay(int n) {string ret = "1"; // 初始化结果字符串为第一个序列 "1"for(int i = 1; i < n; i++) // 循环解释 n - 1 次以生成第 n 个序列{string tmp; // 临时字符串,用于存储当前解释的结果int len = ret.size();for(int left = 0, right = 0; right < len; ) // 使用双指针 left 和 right 来遍历字符串{while(right < len && ret[left] == ret[right]) right++; // 移动右指针,直到找到与左指针不同的字符tmp += to_string(right - left) + ret[left]; // (right - left)计算相同字符的数量,将数量和对应的字符添加到临时字符串中left = right; // 更新左指针到右指针的位置,开始下一轮计数}ret = tmp; // 更新结果字符串为当前解释的结果}return ret;}
};

http://www.ppmy.cn/ops/141807.html

相关文章

Node.JS基础

标题&#xff1a;Node.js 基础教学课件 第一章&#xff1a;Node.js 概述 课件内容&#xff1a; 介绍Node.js及其与浏览器中JavaScript的区别。讲解Node.js的事件驱动、非阻塞I/O模型。Node.js的适用场景和优势。Node.js的版本管理和环境搭建。 讨论点&#xff1a; Node.js…

react-redux 数据持久化

安装依赖&#xff1a; npm install redux-persist 改造 src/store/index.js import { configureStore } from reduxjs/toolkit import userSlice from ./userSlice import storage from redux-persist/lib/storage; import { persistReducer, persistStore } from redux-p…

【再谈设计模式】组合模式~层次构建的多面手

一、引言 在软件开发的世界里&#xff0c;我们经常面临着处理对象之间复杂关系的挑战。如何有效地表示对象的部分 - 整体层次结构&#xff0c;并且能够以一种统一的方式操作这些对象&#xff0c;是一个值得探讨的问题。组合模式&#xff08;Composite Pattern&#xff09;为我们…

《蓝桥杯比赛规划》

大家好啊&#xff01;我是NiJiMingCheng 我的博客&#xff1a;NiJiMingCheng 这节课我们来分享蓝桥杯比赛规划&#xff0c;好的规划会给我们的学习带来良好的收益&#xff0c;废话少说接下来就让我们进入学习规划吧&#xff0c;加油哦&#xff01;&#xff01;&#xff01; 一、…

虚幻引擎Actor类生命周期

AActor构造函数 在AActor类的构造函数中,虚幻引擎会初始化与该Actor相关的一些关键属性,比如: 默认的组件(如RootComponent、MeshComponent等)。默认的属性设置,例如位置、旋转、缩放等。还会调用BeginPlay等生命周期函数,但在构造函数中,这些函数不会执行。当你在场景…

SpringBoot + MyBatis 实现号段模式的分布式ID

号段模式是一种常见的 ID 生成策略&#xff0c;在高并发场景中广泛应用。其核心思想是&#xff0c;发号服务每次从数据库获取一批 ID&#xff0c;并将这些 ID 缓存到本地。业务系统每次请求 ID 时&#xff0c;首先会判断本地缓存是否有可用的 ID。如果有&#xff0c;则直接分配…

Not using native diff for overlay2, this may cause degraded performance……

问题现象 案例&#xff1a;Anolis 8.9&#xff08;4.19.91-26.an8.x86_64&#xff09; Overlay2存储驱动程序&#xff09; 当我们安装好Docker之后&#xff0c;通过systemctl status docker -l 会发现有一个告警信息&#xff1a;levelwarning msg"Not using native dif…

Maven、mybatis框架

一、Maven介绍 1.概念&#xff1a; Maven项目对象模型(POM)&#xff0c;可以通过一小段描述信息来管理项目的构建&#xff0c;报告和文档的项目管理工具软件。 2.为啥使用maven: 之前项目中需要引入大量的jar包。这些jar从网上下载&#xff0c;可能下载地址不同意。这些jar之间…