2025.11.16 力扣每日一题

2025.11.161513.仅含1的子串数

cpp 复制代码
class Solution {
public:
    int numSub(string s) {
        int mod = 1e9 + 7;//取模值,防止答案溢出
        int result = 0;//最终结果(所有符合条件的子串总数)
        int cnt = 0;//记录当前连续'1'的长度
        for (char c : s) {//遍历字符串的每个字符
            if (c == '1') {//当前字符为'1'
                cnt++;//连续'1'的长度加1
                // 累加新增的子串数:长度为 cnt 的连续 '1' 比长度为 cnt-1 时多 cnt 个新子串
                // (例如从 "11" 到 "111",新增的子串是 "1"(第三个1)、"11"(后两个1)、"111"(三个1),共 3 个)
                result = (result + cnt) % mod;
            } else {//当前字符为'0'
                cnt = 0;//连续'1'中断,重置计数
            }
        }
        return result;
    }
};

今天这个题目比较简单,想清楚就比较好做了,主要是对连续'1'字符串数量的相加,记得取模!

相关推荐
_深海凉_3 小时前
LeetCode热题100-寻找两个正序数组的中位数
算法·leetcode·职场和发展
旖-旎3 小时前
深搜练习(电话号码字母组合)(3)
c++·算法·力扣·深度优先遍历
谭欣辰3 小时前
C++快速幂完整实战讲解
算法·决策树·机器学习
Mr_pyx4 小时前
【LeetHOT100】随机链表的复制——Java多解法详解
算法·深度优先
AIFarmer4 小时前
【无标题】
开发语言·c++·算法
AGV算法笔记4 小时前
CVPR 2025 最新感知算法解读:GaussianLSS 如何用 Gaussian Splatting 重构 BEV 表示?
算法·重构·自动驾驶·3d视觉·感知算法·多视角视觉
勤劳的进取家5 小时前
数据链路层基础
网络·学习·算法
Advancer-5 小时前
第二次蓝桥杯总结(上)
java·算法·职场和发展·蓝桥杯
ん贤6 小时前
加密算法(对称、非对称、哈希、签名...)
算法·哈希算法
superior tigre6 小时前
78 子集
算法·leetcode·深度优先·回溯