[LeetCode] 38.Count and Say

Matlab SSIM图像质量评价源码逐行注释与参数避坑 图像质量评价用于衡量压缩、去噪、超分、配准等处理后的视觉保真度。PSNR 只统计逐像素误差,对结构退化不敏感;SSIM 则从亮度、对比度和结构出发,在局部滑动窗口内比较图像相似性,更贴近人眼对边缘和纹理的判断。Matlab 中借助 imfilter、高斯加权核和向量化运算,可高效计算 SSIM 图与 MSSIM 均值。理解 C1/C2 常数、L 动态范围、边界填充和窗口/sigma 匹配,是避免分数失真、NaN 与结果偏差的关键。该指标常用于课程设计、算法对比和工程评测,把 PSNR 与 MSSIM 联合使 阅读详情

题目来自 LeetCode

The count-and-say sequence is the sequence of integers with the first five terms as following:

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

1 is read off as “one 1” or 11.
11 is read off as “two 1s” or 21.
21 is read off as “one 2, then one 1” or 1211.
Given an integer n, generate the nth term of the count-and-say sequence.

Note: Each term of the sequence of integers will be represented as a string.

Example 1:

Input: 1
Output: “1”
Example 2:

Input: 4
Output: “1211”


如果没有看懂题意的话,我简单解释一下:
题目规定:
第一个字符串是 “1”
第二个字符串是 “11”(数前一个字符串中的数字个数,前一个有:一个“1”)
第三个字符串是 “21”(前一个字符串有:两个“1”)
第四个字符串是 “1211”(前一个字符串有:一个“2”和一个“1”)
…
按照这个规律,输入 n,输出对应的第 n 个字符串

这道题是一道简单的递归题,我是用 Java 写的,如果你也使用 Java 那么我建议你使用 StringBuilder 做字符串的拼接,这样可以很好的提高性能

如果你对 String 和 StringBuilder 不够了解,请戳这里: String,StringBuffer,StringBuilder

以下是答案源码:

class Solution {
    public String countAndSay(int n) {
       if (n == 1){
            return "1";
        }
        String str = countAndSay(n - 1);
        StringBuilder result = new StringBuilder();
        int count = 0;
        int numberIndex = 0;
        int i = 0;
        while (i < str.length()){
            if (str.charAt(numberIndex) == str.charAt(i)){
                count++;
                if (i + 1 == str.length()){
                    result.append(String.valueOf(count)).append(String.valueOf(str.charAt(numberIndex)));
                }
            }else {
                result.append(String.valueOf(count)).append(String.valueOf(str.charAt(numberIndex)));
                numberIndex = i;
                count = 0;
                continue;
            }
            i++;
        }
        return result.toString(); 
    }
}
mbed驱动st7789屏幕-硬件选择及连接(1) 在单片机项目中,交互性至关重要,而视觉感知是用户交互的直接体现。本期专栏介绍了如何使用mbed平台驱动ST7789型号的TFT屏幕,以显示字符、汉字和图像。由于针对STM32L432KC的mbed驱动库尚未完整,作者自行编写了一个基于mbed的ST7789屏幕驱动库,并将在专栏中提供全代码及使用指南。 阅读详情

相关推荐

自适应陷波器的原理与实现

x(t)是叠加有两个频率干扰信号的输入信号,s(t)是需要保留的有用信号,在输入信号中,我们只知道频率w1和w2,但不知道信号的幅度A和相位θ,自适应陷波器可以估计两个未知的幅度和相位值,这需要我们提供两路相互正交的单频信号,如cos(w1t)、sin(w1t),通过调整其权值,从而合成出与干扰信号完全相同的信号A1cos(w1t+θ1),从而实现干扰信号的滤除。采用LMS算法,在保证不损失其他有用信号的情况下,有效地抑制输入信号中某一频率的干扰,如需滤除多个频率,只需要增加相应的输入信号。

Melkiades2333的博客 6889

LeetCode38——Count and Say

LeetCode38——Count and Say 上一题对我来说实在太凶残了,所以我还是缓缓先做38题好了。。。 题意: 可以理解为求一个数组的第n项,而这个数组的通项公式可以这样理解: 第1项:1 第2项:11 第3项:21 第4项:1211 第5项:111221 第6项:312211 ... ... 第n项:第n-1项的数字串从左到右读出来。

上善若水 4489

UE4_用户控件_6_通过控件蓝图内部变量来修改进度条的值

发现控件类图类的引用和用户控类引用不兼容,修改变量类型。我们需要添加到视口,同时设置输入模式。创建按钮的点击事件,当点击时调用角色的自定义事件clearwidget。可以了,但是没有退出控件,没有鼠标,所以改进一下。

Growthofnotes的博客 1236

LeetCode 38 -- Count and Say

LeetCode 38 -- Count and Say The count-and-say sequence is the sequence of integers beginning as follows: 1, 11, 21, 1211, 111221, ... 1 is read off as "one 1" or 11. 11 is read off as

yiayia070614的博客 299

四大厂商网络设备巡检命令实战指南:华为、华三、锐捷、思科

本文详细介绍了华为、华三、锐捷、思科四大厂商网络设备的巡检命令实战指南,涵盖硬件状态、软件运行和网络功能等核心维度。通过具体命令示例和实用技巧,帮助网络工程师高效完成设备巡检,预防潜在故障,确保网络稳定运行。

weixin_29235923的博客 391

Geoserver新手必看:5分钟搞定世界地图发布(附中国省市数据)

本文为Geoserver新手提供了快速发布世界地图的实战指南。从环境搭建、数据准备入手,详细讲解了如何创建工作区、添加数据存储、发布图层及配置关键参数,并最终通过创建图层组实现地图服务的整合与预览。文章旨在帮助用户快速掌握Geoserver发布地图服务的核心流程与实用技巧。

cola5的博客 223

Leetcode1-100: 38. Count and Say

Leetcode1-100: 38. Count and Say问题描述解题思路代码实现 问题描述 题目要求: 输入一个数字,输出这个数字代表的count-and-say字符串,注意每个数字对应的字符串需要根据上一个数字的字符串来得出(例如4对应的是1211,就是1个1,1个2,2个1,所以5对应的字符串就是111221) 解题思路 比较简单,直接brute force,迭代从1往后解,每次把上一个的结果最后下一个的输入来做即可。 代码实现 public String countAndSay(int n)

Y123iwantit的博客 301

Docker部署FRP实现内网穿透

FRP是一款开源内网穿透工具,通过在公网服务器部署服务端(FRPS),内网设备运行客户端(FRPC)实现外部访问。支持TCP、UDP、HTTP等多种协议。部署时需配置服务端(如群晖NAS使用Docker)和客户端(如Windows下载可执行文件)。服务端需设置监听端口、控制面板及Token认证,客户端需指定服务器地址和相同Token。完成配置后可通过公网IP或域名访问内网资源,并在控制面板监控连接状态。

波哥技术栈 1599

LeetCode Notes_#38 Count and Say

LeetCode Notes_#38 Count and SayLeetCode Contents 题目思路和解答题意思路解答总结 题目 The count-and-say sequence is the sequence of integers with the first five terms as following: 1.1 2.11 3.21 4.1211 5...

baji9701的博客 181

多传感器融合SLAM指南:如何结合视觉与激光雷达提升建图精度

本文深入探讨了多传感器融合SLAM技术,详细解析了如何将视觉传感器与激光雷达(特别是3D激光雷达)进行深度融合以提升建图精度与鲁棒性。文章从传感器特性分析、数据同步标定、前端融合策略(松耦合与紧耦合)到后端优化与地图构建,提供了完整的实战指南,并重点介绍了V-LOAM等经典融合框架的核心思想,旨在帮助开发者构建适应复杂动态环境的高精度SLAM系统。

weixin_29056145的博客 535

2026年经典爬虫案例专栏|第17篇:学术论文爬虫实战——知网与万方数据采集

字段名说明数据类型title论文标题字符串authors作者列表列表abstract摘要字符串keywords关键词列表列表journal发表期刊字符串year发表年份整数volume卷号字符串issue期号字符串pages页码范围字符串citations引用次数整数downloads下载次数整数doiDOI编号字符串url论文链接字符串学术论文爬虫是科研工作的重要辅助工具,可以帮助研究人员高效地收集和管理论文数据。

2201_76125261的博客 1062

LeetCode - 38. Count and Say(36ms)

LeetCode - 38. Count and Say(36ms) The count-and-say sequence is the sequence of integers with the first five terms as following: 1....

dichunpu6524的博客 140

使用 MATLAB/Simulink 构建一个基于PID控制的直流电机速度调节系统模型

直流电机(DC Motor)因其结构简单、成本低廉、易于控制等特点,广泛应用于各种工业自动化和家用电器中。PID控制器作为最常用的控制策略之一,在直流电机的速度调节系统中具有重要应用价值。通过合理调整比例(P)、积分(I)、微分(D)三个参数,可以实现对电机速度的精确控制。本教程将带你使用构建一个基于PID控制的直流电机速度调节系统模型,涵盖电机模型构建、PID控制器设计、系统仿真与调试等多个方面。本文介绍了如何使用构建一个基于PID控制的直流电机速度调节系统模型。

amy_mhd的博客 217

[LeetCode]38. Count and Say

[LeetCode]38. Count and Say题目描述思路字符串拼接,暴力遍历即可代码#include <iostream> #include <string>using namespace std;class Solution { public: string countAndSay(int n) { if (n == 0) return "

Lcharon的博客 482

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

leetcode 38. Count and Say

leetcode 38. Count and Say 题目大意:读出每个字符串。譬如说 1 读作 11 11 读作 21 21 读作 1211

编码之路 368

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Leetcode题解-38. Count and Say

Leetcode题解-38. Count and Say题目The count-and-say sequence is the sequence of integers with the first five terms as following: 1 11 21 1211 111221 1 is read off as “one 1” or 11. 11 is read off as “two

hzw2945的博客 294

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

LeetCode集锦(十二) - 第38题 Count and Say

LeetCode集锦(十二) - 第38题 Count and Say 问题 The count-and-say sequence is the sequence of integers with the first five terms as following: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1 is ...

weixin_34361881的博客 143

leetcode38. Count and Say

leetcode38. Count and Say

慕鹞 187

【leetcode 38】Count and Say

虽然是easy难度的题,但是题目确实有些难理解,不瞒大家,结合了百度过后的几篇文章的分析后,才初步清楚了题意,简单分析如下: 1、给定第一个字符串是1; 2、第二个字符串要对前一个字符串分析; 3、如果前一个字符串中有连续相等的n个数字m,则输出nm,不连续则输出1m(例:1的下一个解析结果为11,11的下一个解析结果为21); 清楚了题意之后,开始对题目进行思考,思路如下: 1、对前一...

不了痕的博客 1294

leetcode-38. Count and Say

leetcode-38. Count and Say题目: The count-and-say sequence is the sequence of integers beginning as follows: 1, 11, 21, 1211, 111221, … 1 is read off as “one 1” or 11. 11 is read off as “two

千念飞羽的专栏 332

LeetCode 38. Count and Say

LeetCode 38. Count and Say Solution1:我的答案 【C++】int转换为string的两种方法(to_string、字符串流) 怎么这么慢。。。 class Solution { public: string countAndSay(int n) { string res = &quot;1&quot;; if (n == 1) ret...

Allenlzcoder的博客 253

Leetcode 38 Count and Say

Leetcode 38 Count and Sayclass Solution { public: string sayString(string str) { if(str == "1") return "11"; string result; int len = str.length(); int count = 1; fo

自己的学习笔记 212

LeetCode力扣 38. 外观数列 Count and Say 题解代码 JavaScript

https://leetcode-cn.com/problems/count-and-say/ /** * @param {number} n * @return {string} */ var countAndSay = function(n) { var s = "1" ,i,j, str; var t1,ts; for(i=1;i<n;++i) { t1 = 1; ts = s[0]; str = "";

Coding home - 漂流瓶jz 605

LeetCode——38. Count and Say(C++)

LeetCode——38. Count and Say

begforgood的博客 292

LeetCode---38. Count and Say

LeetCode—38. Count and Say 题目 https://leetcode.com/problems/count-and-say/description/ 计数并发言。 n=1,输出1; n=2,上次输出一个1,所以输出11; n=3,上次输出两个1,所以输出21; n=4,上次输出一个2和一个1,所以输出1211; 以此类推 要求给定n,1&lt;=n&lt;=30,输出n对应...

pnnngchg的博客 221

个人记录-LeetCode 38. Count and Say

LeetCode

橡果生长记的博客 732
上一篇: 操作系统内存动态分区分配算法(Java实现)
下一篇: [LeetCode] 58.Length of Last Word
WhataNerd
博客等级 码龄11年 191粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值