LeedCode 之 Count and Say

从MFCC到GMM:手把手教你用Python实现说话人识别(附完整代码) 本文详细介绍了如何使用Python实现说话人识别系统,从MFCC特征提取到GMM模型训练,涵盖完整的技术流程和代码示例。通过梅尔频率倒谱系数(MFCC)和高斯混合模型(GMM)的结合,构建高效的说话人识别系统,适用于身份认证和智能交互场景。文章还探讨了从传统方法到深度学习的进阶话题,如i-vector和x-vector技术。 阅读详情

写在前面:前两天有些事情耽误了,没能每天一天,昨天晚上这道题目在实验室的电脑上写完了的,但是好像忘记保存了还是怎么的,就没能留下来,无奈今天又实现了遍,正好检验下是否只能能够完成这道题~


题目链接:Count and Say
这道题目看了半天也不知道应该怎么处理,按道理应该是n取不同值的时候,数字序列存在不同的规律,但是始终没发现是什么规律,只得在网上查看了下其他的想法的解法。

题意是n=1时输出字符串1;n=2时,数上次字符串中的数值个数,因为上次字符串有1个1,所以输出11;n=3时,由于上次字符是11,有2个1,所以输出21;n=4时,由于上次字符串是21,有1个2和1个1,所以输出1211,以此类推。

public class Solution {
    public String oneString(String str){
        int len = str.length();
        int count = 0;
        char index = str.charAt(0);
        String newstr = new String();
        for(int i=0;i<len;i++){
            if(str.charAt(i)==index)
                count++;
            else
            {
                newstr = newstr+Integer.toString(count)+index;
                index = str.charAt(i);
                count=1;
            }
            if(i==len-1)
                newstr = newstr+Integer.toString(count)+index;
        }
        return newstr;
    }

    public String countAndSay(int n) {
        String result = new String();
        result = "1";
        if(n==1)
            return result;//首先对n=1的情况进行处理
        for(int i=1;i<n;i++)
            result = oneString(result);

        return result;
    }
}
pscad IEEE标准系统搭建说明 pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。 立即下载

相关推荐

PayPal支付集成完全指南:开源库实践

本文介绍了如何从零开始集成PayPal支付功能。首先概述了PayPal提供的多语言SDK和开源库,包括PHP、Python、Node.js等版本。然后详细说明了准备工作,包括注册开发者账号、获取API凭证和使用沙盒环境测试。文章以Node.js为例,演示了安装SDK、基础配置和实现支付流程的完整代码,包括创建订单和捕获支付两个核心功能。最后提及了订阅支付等高级功能,为开发者提供了完整的支付集成方案。通过清晰的代码示例和步骤说明,帮助开发者快速实现PayPal支付功能集成。

2501_93501927的博客 1258

LeedCode-Easy 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 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

Huangpengyu123的博客 256

Hermes Agent vs OpenClaw:2026 年开源 AI Agent 框架深度对比

两款 2026 年最受关注的开源 AI Agent 框架,一个主打「自进化」,一个聚焦「网关路由」——它们究竟有何不同?本文将从架构原理、核心机制、使用方式到适用场景,为你全面拆解。无论你是 AI 研究者、开发者,还是想用 AI 提升工作效率的个人用户,这篇文章都将帮助你做出最适合的选择

程序猿_三产 3742

[leedcode 38] Count and Say

The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ... 1is read off as"one 1"or11.11is read off as"two 1s"or21.21is read off as"one 2, then...

weixin_30478757的博客 60

IMU标定中的Allen方差

Allen方差 Allen方差是IMU标定任务中的常用工具。IMU标定可以分为确定性误差和随机误差,确定性误差包括:scale、bias、misalignment。随机误差则主要是高斯白噪声和bias随机游走。Allen方差主要用于标定随机误差。 Allen方差获取 Allen方差的计算方法如下: 保持IMU静止, 采集N个数据点。 将N个点定长分组,常用的交叠式Allen方差如下(n=3): 对于每个子集,计算均值后,计算相邻两组的方差,得到的时间-方差曲线即为Allen方差。 Alle

realjc的博客 5733

手把手教你配置SAP EWM HU类型及号段分配(含常见错误排查)

本文详细介绍了SAP EWM系统中HU类型及号段分配的配置方法,包括环境准备、包材主数据配置、存储类型关联及号段管理。通过实战案例和常见错误排查,帮助用户高效完成HU配置,提升仓储管理效率。重点讲解了EWM后台配置和号段配置的关键步骤与技巧。

weixin_33670786的博客 443

[leedcode oj 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 1s" or 21. 21 is read off as "one

fukyoucs的专栏 229

【k8s面试】超详细kubernetes面试题总结,面试必问!(附200道K8s Docker面试真题+答案详解

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

2401_83620959的博客 1464

Count and Say-LeetCode

Count and Say-LeetCode 题目: 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

不要说话的博客 584

3GPP协议解读_NTN系列(一)_38.811_非地面网络(NTN)的背景、应用场景和信道建模

非地面网络覆盖广,对物理攻击和自然灾害有一定的抵抗性。本文根据3GPP协议对NTN网络的背景、应用场景和信道模型进行了整理。

JCMLSY的博客 4925

用angr找到strcpy的栈溢出漏洞

这篇文章其实是分析angr文档里给出的一个挖漏洞的小例子。 原文链接在此:https://docs.angr.io/examples#beginner-vulnerability-discovery-example-strcpy_find 这是第一个用angr在二进制里找可利用条件的教程。第一个例子是一个非常简单的程序。这个angr脚本会从程序的entry到strcpy找到一条路径。(只有我们能够控制strcpy的参数的时候) 为了找到正确的路径,angr需要去算一个密码参数,算这个密码,angr只要2s

^_^ 1220

Leetcode-38:报数

个人思路总结: 这个题最大的难度可能是读懂题目吧。。。 题意大概为:其实就是个读数问题,如第5个是"111221" 那么第6个就是读第5个中的数字“3个1,2个2,1个1”即为“312211” 第7个读第6个数为“1个3,1个1,2个2,2个1”即为“13112221” 以此类推。 然后从1开始依次循环即可。 代码如下: class Solution { public: string co...

guihenao4010的博客 158

基于 STM32 的手持式安检金属探测器设计与实现

【代码】基于 STM32 的手持式安检金属探测器设计与实现。

weixin_42300449的博客 899

LeetCode 数组中重复数字

在LeetCode中有四道查找数组中重复数字的类似的题目,先总结一波: LeetCode 217:Contains Duplicate LeetCode 219:Contains Duplicate II LeetCode 220:Contains Duplicate III LeetCode 287:Find the Duplicate Number 一. Contains Dup...

JSJWR的博客 4393

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Leetcode 之 TwoSum

从今天开始在LeetCode上刷题了,第一题,虽然很简单,但是因为刚刚学习了java,而且代码写的一直很烂,过程还是有点曲折的,值得记录下~ Two Sum刚看到题目,就想着直接使用双重循环就好了,所以编写代码如下:public class Solution { public int[] twoSum(int[] nums, int target) { int len =

JSJWR的博客 596

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Leetcode之sqrt(x)

在题目要求上没有看到说不能使用库函数,所以直接通过使用Math下的sqrt()方法就解决了,但是题目的本意肯定是希望能够自己实现sqrt的,而且返回的是int类型,所以最开始的想法就是,通过循环,re每次加1,求re使得re*re=x,或当re*re>x时,re-1即为所求,但是这样的效率太低了,当x的值很大时便会出现超时。 所以通过网上查看其他人的想法, 总结如下 有两种方法:1、二分法;2、

JSJWR的博客 526

LeetCode 之 Single Number

题目链接:Single Number 思路:将数组排序,然后进行两两比较即可 代码如下:class Solution { public int singleNumber(int[] nums) { int len = nums.length; if(len==0) return 0; if(len==1)

JSJWR的博客 501

LeedCode 之 Add Two Numbers

题目链接:Add Two Numbers 给了两个非空的链表存储两个整数,每个链表节点代表一位数字,并以相反的顺序存储。 Input: (2 -> 4 -> 3) + (5 -> 6 -> 4) Output: 7 -> 0 -> 8 即表示:432+465 = 807定义单链表: //Definition for singly-linked list. public class

JSJWR的博客 475

LeedCode 之 Integer to Roman

题目链接:Integer to Roman 这道题是将阿拉伯数字转罗马数字,只要找到两种数字之间的转换规律,就可以了~ 上网查了下相关资料和思路,参考了一下博客: https://my.oschina.net/Tsybius2014/blog/486752 阿拉伯数字转罗马数字有以下规律: 因此读取阿拉伯数字的每位上的数字,将其转为相应的罗马数字即可。 代码如下:public cla

JSJWR的博客 474

LeedCode 之 Plus One

题目链接:Plus One 这道题属于简单,但是不知道是英语差还是怎么得,我没看懂题目,搜了下其他人对这个题目的理解,才发现原来如此,挺简单的~ 题意:使用数组来记录一个整数,设置数组digits,如整数98,那么digits[0]=9,digits[1]=8;加1以后,依次进位,如果超过原数组的长度,那么就新建一个数组,将原数组复制到新数组,并设置最高位为1。 代码:public class

JSJWR的博客 449

LeetCode 之 Valid Palindrome

题目链接: Valid Palindrome 判断字符串是否回文,且只考虑数字、字母,并忽略大小写。 就想将字符串中的非数字和字母的元素去掉,将大写字母转为小写,java中String直接提供了这两种方法:replaceAll()和toLowerCase(); 然后将新的字符串反转,判断反转前后是否相同即可 代码:class Solution { public boolean isP

JSJWR的博客 448

LeedCode 之 Reverse Integer

目前先是挑选LeedCode上简单的题目来做~题目链接:Reverse Integer看到题目第一想法是:将整数转换为字符串,再使用字符串的反转函数reverse()函数将其反转,最后转为整数输出即可~ 在这其中考虑到有负数的情况,所以先去绝对值进行反转处理,最后根据整数的正负情况返回对应的值~ 代码如下:public class ReverseInteger { public int

JSJWR的博客 446

LeedCode 之 Remove Duplicates from Sorted Array

题目链接:Remove Duplicates from Sorted Array 题意是:给定一个已经排序的数组,删除重复的位置,使每个元素只显示一次并返回新的长度。 同时不要分配另一个数字,占用额外空间这里主要是有三个需要注意的地方:已经排序的数组,删除位置,不能占用额外空间。 刚开始只是想着当发现重复数据就使数组长度减1就可以了,但是使用无法通过LeedCode,再仔细读一遍题意,是需要删

JSJWR的博客 430

LeetCode 之 Search for a Range

题目链接:Search for a Range 对于一个按照升序排序的整数数组,找到给定目标值的开始位置和结束位置,且时间复杂度为O(log n)。 如果在数组中找不到目标值,则返回[-1,-1]。 例如: 数组为[5,7,7,8,8,10]和目标值8; 返回[3,4]。 首先如果使用暴力查找,算法的时间复杂度绝对会超过O(log n),所以不予考虑。 解法一:使用双指针,i指向数...

JSJWR的博客 422

LeetCode 之 Linked List Cycle

题目链接:Linked List Cycle 判断一个链表是否为单链表,就很容易,向前遍历直到null,就说明为单链表; 但是如果存在环,应该怎么办,并且要求不能有额外的空间,自己没想到合适的方法,搜索学习了下,通过使用快慢指针来,设置两个LinkNode,一个为slower,一个为faster,两个节点都从头节点开始向前,slower每次走一步,faster每次走两步,那么如果存在环的话,两者

JSJWR的博客 421

LeetCode 之 Path Sum

题目链接:Path Sum 给定一个数sum,查看二叉树是否具有从根到叶子节点上路径的值得和等于sum; 需要考虑三种情况: 1、树为空,直接返回false; 2、只有根节点,判断根节点的值是否为sum; 3、存在子树,判断左右子树上是否存在值为sum-root.val的路径。/** * Definition for a binary tree node. * public class

JSJWR的博客 415

LeedCode 之 Length of Last Word

题目链接:Length of Last Word 这道题就相当的简单的,主要是对特殊字符串的处理,而且题目中说“If the last word does not exist, return 0.”我就一直以为当最后一个字符是“ ”,就表示要return0,实际不是这样的。其需要返回的是最后一个单词的长度,除非整个字符串中没有一个单词。 直接上代码就行:public class Solution

JSJWR的博客 413
上一篇: LeedCode 之 Search Insert Position
下一篇: LeedCode 之 Length of Last Word
小菜鸟要高飞
博客等级 码龄12年 14粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值