【LeetCode每日一题:1759. 统计同构子字符串的数目~~~数学公式+双指针+动态规划】

RK3588部署rtmpose模型 摘要: 本文详细介绍了在RK3588开发板上部署RTMPose模型的全流程。首先在Ubuntu环境中搭建MMCV框架,通过MMPose工具将PTH模型转换为ONNX格式。随后使用RKNN-Toolkit2将ONNX模型转换为RKNN格式,并完成开发板部署。关键步骤包括模型转换(PTH→ONNX→RKNN)、环境配置和推理验证,最终实现人体姿态估计功能。整个过程涉及MMPose、RKNN-Toolkit等工具链的使用,为边缘计算场景下的实时姿态分析提供了可行方案。 阅读详情

题目描述

给你一个字符串 s ,返回 s 中 同构子字符串 的数目。由于答案可能很大,只需返回对 109 + 7 取余 后的结果。

同构字符串 的定义为:如果一个字符串中的所有字符都相同,那么该字符串就是同构字符串。

子字符串 是字符串中的一个连续字符序列。

示例 1:

输入:s = “abbcccaa”
输出:13
解释:同构子字符串如下所列:
“a” 出现 3 次。
“aa” 出现 1 次。
“b” 出现 2 次。
“bb” 出现 1 次。
“c” 出现 3 次。
“cc” 出现 2 次。
“ccc” 出现 1 次。
3 + 1 + 2 + 1 + 3 + 2 + 1 = 13
示例 2:

输入:s = “xy”
输出:2
解释:同构子字符串是 “x” 和 “y” 。
示例 3:

输入:s = “zzzzz”
输出:15

提示:

1 <= s.length <= 105
s 由小写字符串组成

求解思路

求解思路1:数学公式+双指针:根据题目的意思,我们对字符串进行分组,然后通过循环遍历求解每一个组对最后结果的贡献即可。每一个组对结果的贡献公式:i*(i+1)/2
求解思路2:动态规划:每一个字符都对最后的结果贡献为1,初始化就可以得出,然后在循环遍历的过程中,我们可以判断当前位置的字符和之前位置的字符是否相等,如果相等,那么当前位置的值等于前一个位置的值+1,如果不相等,那么就是1。循环遍历,对最终的结果取模。

实现代码

实现方式1:数学公式+双指针
class Solution {
    
    public static final int mod=(int)(1e9+7);

    public int countHomogenous(String s) {
        char pre=s.charAt(0);
        int cnt=0;
        long res=0;
        for(int i=0;i<s.length();i++){
            if(s.charAt(i)==pre){
                cnt++;
            }else{
                res+=(long)(cnt+1)*cnt/2;
                cnt=1;
                pre=s.charAt(i);
            }
        }
        res+=(long)(cnt+1)*cnt/2;
        return (int)(res%mod);
    }
}
实现方式2:动态规划
class Solution {
    public int countHomogenous(String s) {
        int mod=1000000007;
        char[] arr = s.toCharArray();
        int n = s.length();
        int[] dp = new int[n];
        dp[0] = 1;
        long res = 1;
        for (int i = 1; i < n; i++) {
            dp[i] = arr[i] == arr[i - 1] ? dp[i - 1] + 1 : 1;
            res=(res+dp[i])%mod;
        }
        return (int)(res%mod);
    }
}

运行结果

在这里插入图片描述

从 0 到 1 打造一个“超级 IP 智能体” 这篇文章介绍了一个"超级IP智能体"的技术架构和实现方案。该项目构建了一个多模态内容生成流水线,主要流程包括:1)视频下载和音频提取;2)语音识别转换为文字稿;3)使用大语言模型对文案进行仿写和润色;4)语音合成;5)数字人口型同步;6)视频后期处理。文章详细介绍了如何使用Python和Hugging Face开源模型搭建环境,并重点展示了视频下载、语音识别(采用Whisper模型)以及文案仿写(使用Qwen1.5-7B-Chat模型)等核心模块的代码实现。所有处理均针对M3芯片Mac优 阅读详情

相关推荐

Tessent --- PDL

当关联的ICL模块是当前ICL顶部模块时,即当它与当前设计匹配时,只能iCall一个iTopProc。但是,可以在iTopProc内调用iCall iProc或iTopProc。为指定后续iProc命令引用的ICL模块,发出这个命令之后,随后定义的iProc都会对应的ICL模块进行定义。为后续iCall调用,当使用iCall命令调用该过程时,参数列表中的变量将被替换为iCall命令中指定的值。在调用iProc时,运行iProc内的命令。PDL是面向工程师的,工程师利用PDL语言,对ICL中的单元进行控制。

qiantianyiqian的博客 2783

【1759. 统计同构子字符串的数目】

因为「同构子字符串」为一个连续的字符序列且需要序列中的字符都相同,那么我们首先按照连续相同的字符来对字符串 ss 进行分组,比如对于字符串 “abbcccaa" 我们的分组结果为 [“a”, “bb”, “ccc”, “aa”]。因为对于一个组中字符串的任意子字符串都为「同构子字符串」,而一个长度为 m 的字符串的子字符串的数目为 m×(m+1) / 2。题目给出一个长度为 n 的字符串 s,并给出「同构字符串」的定义为:如果一个字符串中的所有字符都相同,那么该字符串就是同构字符串。空间复杂度:O(1)。

Sugar_wolf的博客 634

PostgreSQL向量数据插件--pgvector安装(附PostgreSQL安装)

本文为本人在安装pgvector中踩过的坑,已找到解决方法,现向大家分享。

m0_62627802的博客 2万+

​力扣解法汇总1759. 统计同构子字符串的数目

​力扣解法汇总1759. 统计同构子字符串的数目

分享+记录 707

【3DSlicer】基于心脏ct影像重建3d模型及导出

软件:3DSlicer4.11 基于心脏ct影像重建3d模型

Liuees的博客 1万+

千兆以太网的接收和crc校验

解析该以太网帧,包括统计该以太网帧长度+过滤功能(端口号对不对,是否为udp协议)+CRC校验,将解析结果存入状态fifo,一旦状态fifo开始有数,就开始开启读过程,读过程开始时,首先读状态fifo,根据从状态fifo里面读出的以太网帧长度,来读数据fifo(这样能够防止跨帧读),然后在根据状态fifo里面读出的crc校验正确标志和过滤标志,来确定是否将数据fifo读出来的数据送给下一个模块。改掉之后在抓一下,可以看到抓出来的数据完全正确,从最后开始看,除去4个crc校验的尾巴,数据是到255结束的。

weixin_45284871的博客 2738

1759. 统计同构子字符串的数目

给你一个字符串 s ,返回 s 中 同构子字符串 的数目。由于答案可能很大,只需返回对 109 + 7 取余 后的结果。 同构字符串 的定义为:如果一个字符串中的所有字符都相同,那么该字符串就是同构字符串。 子字符串 是字符串中的一个连续字符序列。 示例 1: 输入:s = “abbcccaa” 输出:13 解释:同构子字符串如下所列: “a” 出现 3 次。 “aa” 出现 1 次。 “b” 出现 2 次。 “bb” 出现 1 次。 “c” 出现 3 次。 “cc” 出现 2 次。 “c

qq_44116786的博客 363

YIUI框架深度解析:基于ET的数据驱动UI开发实践

在Unity游戏开发中,UI管理是构建复杂应用的核心挑战之一。传统命令式编程需要开发者手动操作每个UI组件,导致业务逻辑与视图层高度耦合,代码难以维护。数据驱动是一种先进的架构思想,它通过建立数据模型与UI组件之间的绑定关系,实现数据变化时UI的自动更新,从而将开发者的关注点从“如何操作UI”转移到“数据状态是什么”。这种模式显著提升了代码的可维护性和开发效率,尤其适用于状态频繁变化的游戏界面。YIUI框架正是这一思想在Unity UGUI上的工程化实践,它通过Model-View-Component的清晰

java天气 431

C++描述 LeetCode 5677. 统计同构子字符串的数目

C++描述 LeetCode 5677. 统计同构子字符串的数目   大家好,我叫亓官劼(qí guān jié ),在优快云中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在优快云中写博客,唯一博客更新的地址为:亓官劼的博客 ,同时正在尝试在B站中做一些内容分享,B站主页为: 亓官劼的B站主页 本文原创为亓官劼,请大家支持原创,部分平台一直在恶意盗取博主的文章!!! 若需联系博主,可以联系本人微信:qiguanjie2015 给你一个字符串 s ,返回 s 中 同构子字符串

一起加油 2641

openclaw通俗入门系列9——流式传输 + 分块

流式传输 = 不等写完就开始发。分块流式传输是把长回复切成几条消息发(所有渠道),草稿流式传输是像打字一样实时显示(仅 Telegram)。可以配置块大小、发送时机、合并规则、类人延迟。

m0_60605453的博客 506

基于YOLOv13+CBAM注意力机制

本教程详细介绍了CBAM注意力机制的原理及其在YOLOv13中的集成方法。CBAM通过通道注意力和空间注意力两个模块,动态调整特征权重以增强模型性能。通道模块利用池化操作和共享MLP生成通道权重,空间模块则通过池化和卷积生成空间权重。教程提供了在YOLOv13中实现CBAM的具体步骤,包括模块代码定义、模型配置修改等关键环节,帮助开发者在目标检测任务中提升模型表现。

FJN110的博客 305

统计字符串中字符种类的数目

#include int main() { char a[30],num=0,ab=0,el=0; scanf("%s",a); int i=0; while(a[i]!='\0'){ if(a[i]>='0'&&a[i]<='9'){ num++; }else if(a[i]>='a'&&a[i]<='z')

快快驿站 1610

Open3D (C++) KD tree的使用【2025最新版】

Open3D (C++) KD tree的使用,博客长期更新,本文最近更新时间为:2025年1月6日。

点云侠的博客 1566

LeetCode 1220. 统计元音字母序列的数目(DP)

文章目录1. 题目2. 解题 1. 题目 给你一个整数 n,请你帮忙统计一下我们可以按下述规则形成多少个长度为 n 的字符串: - 字符串中的每个字符都应当是小写元音字母('a', 'e', 'i', 'o', 'u') - 每个元音 'a' 后面都只能跟着 'e' - 每个元音 'e' 后面只能跟着 'a' 或者是 'i' - 每个元音 'i' 后面 不能 再跟着另一个 'i' - 每个元音 'o' 后面只能跟着 'i' 或者是 'u' - 每个元音 'u' 后面只能跟着 'a' 由于答案可能会很大,所

Michael是个半路程序员 1637

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

老版QQ原生表情gif动态

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

[滑动窗口]leetcode1759:统计同构子字符串的数目(medium)

题目: 题解: 本题稍微推导了一下,就是一个滑动窗口裸题,直接用窗口统计连续相同字符的子字符串的长度len,然后稍微推导下同构子字符串的个数为len*(len+1)/2。 代码如下: const int mod = 1e9+7; typedef long long LL; class Solution { public: // 题解:滑动窗口裸题,统计每个窗口内的连续字符相同的长度len,同构子字符串的个数为len*(len+1)/2 int countHomogenous(s

algsup 529

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

1638 统计只差一个字符的子串数目(动态规划)

1. 问题描述: 给你两个字符串s 和t,请你找出 s中的非空子串的数目,这些子串满足替换 一个不同字符以后,是 t串的子串。换言之,请你找到 s和 t串中恰好只有一个字符不同的子字符串对的数目。比方说,"computer" 和"computation" 加粗部分只有一个字符不同:'e'/'a',所以这一对子字符串会给答案加 1 。请你返回满足上述条件的不同子字符串对数目 一个 子字符串是一个字符串中连续的字符。 示例 1: 输入:s = "aba", t = "baba" 输出...

二哈 517

leetcode每日一题(Golang)2022-12-26 1759. 统计同构子字符串的数目 (middle)

2022-12-26 1759. 统计同构子字符串的数目 (middle)🚩 学如逆水行舟,不进则退。—— 《增广贤文》

qq_51898139的博客 787

非指针方法解决统计同构子字符串的数目

题目描述 给定一个字符串s,返回s中同构子字符串的数目。由于答案可能很大,只需返回对|10^9+7取余后的结果。同构字符串的定义为:如果-个字符串中的所有字符都相同, 那么该字符串就是同构字符串。子字符串是字符串中的-一个连续字符序列。 样例输入: s = "abbcccaa"输出: 13 解释:同构子字符串如下所列 a"出现3次 aa出现1次 "b”出现2次 "bb”出现1次 c出现3次。 cc出现2次 ccc出现1次。 3+1+2+1+3+2+1=13 ...

weixin_53566929的博客 267

Leetcode刷题 2021.02.15

Leetcode刷题 2021.02.15Leetcode1758 生成交替二进制字符串的最少操作数Leetcode1760 袋子里最少数目的球Leetcode1759 统计同构子字符串的数目 Leetcode1758 生成交替二进制字符串的最少操作数 给你一个仅由字符 ‘0’ 和 ‘1’ 组成的字符串 s 。一步操作中,你可以将任一 ‘0’ 变成 ‘1’ ,或者将 ‘1’ 变成 ‘0’ 。 交替字符串 定义为:如果字符串中不存在相邻两个字符相等的情况,那么该字符串就是交替字符串。例如,字符串 “010

weixin_43447128的博客 579

1759 统计同构子字符串的数目

题目描述: 给你一个字符串 s ,返回 s 中 同构子字符串 的数目。由于答案可能很大,只需返回对 109 + 7 取余 后的结果。 同构字符串 的定义为:如果一个字符串中的所有字符都相同,那么该字符串就是同构字符串。 子字符串 是字符串中的一个连续字符序列。 示例 1: 输入:s = “abbcccaa” 输出:13 解释:同构子字符串如下所列: “a” 出现 3 次。 “aa” 出现 1 次。 “b” 出现 2 次。 “bb” 出现 1 次。 “c” 出现 3 次。 “cc” 出现 2

weixin_44171872的博客 349

leecode.1759. 统计同构子字符串的数目

题目 给你一个字符串 s ,返回 s 中 同构子字符串 的数目。由于答案可能很大,只需返回对 109 + 7 取余 后的结果。 同构字符串 的定义为:如果一个字符串中的所有字符都相同,那么该字符串就是同构字符串。 子字符串 是字符串中的一个连续字符序列。 示例一 输入:s = “abbcccaa” 输出:13 解释:同构子字符串如下所列: “a” 出现 3 次。 “aa” 出现 1 次。 “b” 出现 2 次。 “bb” 出现 1 次。 “c” 出现 3 次。 “cc” 出现 2 次。 “

free1993的博客 323

Leetcode(第228场周赛)

5676. 生成交替二进制字符串的最少操作数(第一题) 题目 给你一个仅由字符 ‘0’ 和 ‘1’ 组成的字符串 s 。一步操作中,你可以将任一 ‘0’ 变成 ‘1’ ,或者将 ‘1’ 变成 ‘0’ 。 交替字符串 定义为:如果字符串中不存在相邻两个字符相等的情况,那么该字符串就是交替字符串。例如,字符串 “010” 是交替字符串,而字符串 “0100” 不是。 返回使 s 变成 交替字符串 所需的 最少 操作数。 示例 1: 输入:s = "0100" 输出:1 解释:如果将最后一个字符变为 '1'

qq_45602618的博客 552

LeetCode 第 228 场周赛

5676. 生成交替二进制字符串的最少操作数 题意: 给你一个仅由字符 ‘0’ 和 ‘1’ 组成的字符串 s 。一步操作中,你可以将任一 ‘0’ 变成 ‘1’ ,或者将 ‘1’ 变成 ‘0’ 。 交替字符串 定义为:如果字符串中不存在相邻两个字符相等的情况,那么该字符串就是交替字符串。例如,字符串 “010” 是交替字符串,而字符串 “0100” 不是。 返回使 s 变成 交替字符串 所需的 最少 操作数。 思路 最后的交替字符串不是010101就是10101010,所以构造这两个母串,和原字符串对比取最小

qq1263152915菜鸟小波的博客 427

LeetCode——1759. 统计同构子字符串的数目(Count Number of Homogenous Substrings)[中等]——分析及代码(Java)

LeetCode——1759. 统计同构子字符串的数目[Count Number of Homogenous Substrings][中等]——分析及代码[Java]一、题目二、分析及代码1. 直接计算(1)思路(2)代码(3)结果三、其他 一、题目 给你一个字符串 s ,返回 s 中 同构子字符串 的数目。由于答案可能很大,只需返回对 10^9 + 7 取余 后的结果。 同构字符串 的定义为:如果一个字符串中的所有字符都相同,那么该字符串就是同构字符串。 子字符串 是字符串中的一个连续字符序列。 示例 1

江南土豆的博客 457

1759.统计同构子字符串的数目

给你一个字符串 s ,返回 s 中 同构子字符串 的数目。由于答案可能很大,只需返回对 109 + 7 取余 后的结果。 同构字符串 的定义为:如果一个字符串中的所有字符都相同,那么该字符串就是同构字符串。 子字符串 是字符串中的一个连续字符序列。 示例 1: 输入:s = "abbcccaa" 输出:13 解释:同构子字符串如下所列: "a" 出现 3 次。 "aa" 出现 1 次。 "b" 出现 2 次。 "bb" 出现 1 次。 "c" 出现 3 次。 "cc" 出现...

qq_41469636的博客 253

LeetCode 1759. 统计同构子字符串的数目

文章目录1. 题目2. 解题 1. 题目 给你一个字符串 s ,返回 s 中 同构子字符串 的数目。 由于答案可能很大,只需返回对 10^9 + 7 取余 后的结果。 同构字符串 的定义为:如果一个字符串中的所有字符都相同,那么该字符串就是同构字符串。 子字符串 是字符串中的一个连续字符序列。 示例 1: 输入:s = "abbcccaa" 输出:13 解释:同构子字符串如下所列: "a" 出现 3 次。 "aa" 出现 1 次。 "b" 出现 2 次。 "bb" 出现 1 次。 "c" 出

Michael是个半路程序员 705

字符串类算法题---回文串、同构字符串、回文数、计数二进制子串

1.最长回文串 力扣传送门 /* * 计算一组字符集合可以组成的回文字符串的最大长度 * */ public int longestPalindrome(String s) { if (s == null || s.length() == 0) return 0; int sMap[] = new int[128]; ...

StubbornAccepted的博客 527
上一篇: 【详细学习SpringBoot源码之内嵌Tomcat启动原理分析&编译部署Tomcat源码过程解析-9】
下一篇: 【详细学习SpringBoot源码-SpringBoot中的Actuator应用-数据可视化操作之SpringBootAdmin-数据可视化操作之Prometheus+Grafana安装部署-10】
硕风和炜
硕风和炜 优质创作者: Java技术领域 优质创作者: Java技术领域
博客等级 码龄7年 2万+粉丝 1024原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硕风和炜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值