入门力扣自学笔记211 C++ (题目编号:1781)

2023-11-13

1781. 所有子字符串美丽值之和

题目:

一个字符串的 美丽值 定义为:出现频率最高字符与出现频率最低字符的出现次数之差。

比方说,"abaacc" 的美丽值为 3 - 1 = 2 。
给你一个字符串 s ,请你返回它所有子字符串的 美丽值 之和。


示例 1:

输入:s = "aabcb"
输出:5
解释:美丽值不为零的字符串包括 ["aab","aabc","aabcb","abcb","bcb"] ,每一个字符串的美丽值都为 1 。


示例 2:

输入:s = "aabcbaa"
输出:17


提示:

1 <= s.length <= 500
s 只包含小写英文字母。


来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/sum-of-beauty-of-all-substrings
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。


思路:

首先,我们建立一个count来存储所有字母出现的次数。

其次,我们从0开始进行枚举,在每次枚举的时候,都要将数组清0。因为要确定子字符串,这里用到了滑动窗口的思想,统计当前子串每个字母出现的次数,并且枚举当前子串26个字母,每个字母出现的次数,进行统计加和存到最终结果,

最后,返回最终结果即可。


代码:

class Solution {
public:
    int beautySum(string s) {
        int N = s.size();
        int count[26];
        int ans = 0;
        for(int i = 0;i < N;i++)
        {
            memset(count,0,sizeof count);
            for(int j = i;j < N;j++)
            {
                count[s[j] - 'a']++;
                int minc = 1e8,maxc = -1;
                for(int k = 0;k < 26;k++)
                {
                    if(count[k] > 0)
                    {
                        minc = min(minc,count[k]);
                        maxc = max(maxc,count[k]);
                    }
                }
                ans += maxc - minc;
            }
        }
        return ans;
    }
};

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

入门力扣自学笔记211 C++ (题目编号:1781) 的相关文章

  • Volatile.Read 和 Volatile.Write 背后的逻辑是什么?

    来自 MSDN Volatile Read 读取字段的值 在需要它的系统上 插入一个 阻止处理器重新排序内存的内存屏障 操作如下 如果在该方法之后出现读或写 代码 处理器无法移动它before这个方法 and Volatile Write
  • 元组在 VS2012 中如何工作?

    Visual Studio 2012 功能 tuples但不是可变参数模板 这是如何完成的 如何在不使用可变模板的情况下实现元组 简而言之 微软做了与之前在 NET 中实现类似元组的数据类型完全相同的事情 创建许多版本 每个版本都有固定数量
  • 无法将 std::min 传递给函数,std::min 的副本有效

    Passing std min函数无法编译 我复制了 libcpp 声明std min进入我的源文件并且它可以工作 std 版本有什么问题 clang 和 gcc 也会发生同样的情况 在 Godbolt 上测试 https godbolt
  • IEnumerable 的 String.Join(string, string[]) 的类似物

    class String包含非常有用的方法 String Join string string 它从数组创建一个字符串 用给定的符号分隔数组的每个元素 但一般来说 它不会在最后一个元素之后添加分隔符 我将它用于 ASP NET 编码 以用
  • 并行化斐波那契序列生成器

    我正在学习并行化 在一项练习中 我得到了一些我应该提高性能的算法 其中之一是斐波那契数列生成器 array 0 0 array 1 1 for q 2 q lt MAX q array q array q 1 array q 2 我怀疑 这
  • 进程退出后 POSIX 名称信号量不会释放

    我正在尝试使用 POSIX 命名信号量进行跨进程同步 我注意到进程死亡或退出后 信号量仍然被系统打开 在进程 打开它 死亡或退出后是否有办法使其关闭 释放 早期的讨论在这里 当将信号量递减至零的进程崩溃时 如何恢复信号量 https sta
  • MFC CList 支持复制分配吗?

    我在 MSVC 中查找了 CList 定义afxtempl h http www cppdoc com example mfc classdoc MFC AFXTEMPL H html并记录在MSDN http msdn microsoft
  • 如果 JSON.NET 中的值为 null 或空格,则防止序列化

    我有一个对象需要以这样的方式序列化 即 null 和 空白 空或只是空格 值都不会序列化 我不控制对象本身 因此无法设置属性 但我知道所有属性都是字符串 环境NullValueHandling显然 忽略 只能让我找到解决方案的一部分 它 似
  • 将设置函数(setter)标记为 constexpr 的目的是什么? [复制]

    这个问题在这里已经有答案了 我无法理解将 setter 函数标记为的目的constexpr 自 C 14 起这是允许的 我的误解来自以下情况 我使用 constexpr c tor 声明一个类 并且我将通过创建该类的 constexpr 实
  • 如何使用 Roslyn 通过扩展方法、静态类中的方法以及带有 ref/out 参数的方法来访问调用

    我正在致力于创建一个开源项目 用于创建 NET UML 序列图 该项目利用名为 js sequence diagrams 的 javascript 库 我不确定 Roslyn 是适合这项工作的工具 但我想我应该尝试一下 所以我整理了一些概念
  • 将错误代码映射到 C++ 中的字符串

    将错误代码从枚举映射到字符串的更有效方法是什么 在 C 中 例如 现在我正在做这样的事情 std string ErrorCodeToString enum errorCode switch errorCode case ERROR ONE
  • C++ 到 C# 事件处理

    所以我有我的C WinForm 应用程序 我从中调用我的C CLI MFC dll图书馆 但也有一些events在我的 C 库上 甚至此事件也发生在该库的本机 非 CLI 部分 我需要从我的 C 应用程序调用一些代码 并获取一些有关此事件的
  • doxygen c++:记录由“using”声明公开的私有继承成员

    作为一个例子 我有以下课程 class A public void methodOne class B private A public Brief description using A methodOne 我还没有找到强制 doxyge
  • 为什么 f(i = -1, i = -1) 是未定义的行为?

    我正在读关于违反评估顺序 http en cppreference com w cpp language eval order 他们举了一个令我困惑的例子 1 如果标量对象上的副作用相对于同一标量对象上的另一个副作用是无序的 则行为未定义
  • 无法在 C# 中为 EventArgs 分配使用派生类型的事件处理程序

    所以我有一个事件声明如下 public event EventHandler OnChangeDetected 然后我有以下处理程序被分配给该事件 myObject OnChangeDetected OnTableChanged 我的理解是
  • C 中使用 getrandom 实现随机浮点数

    我试图生成一个介于 0 和 1 之间的随机浮点数 无论是在 0 1 还是 0 1 对我来说都不重要 网上关于此的每个问题似乎都涉及rand 呼叫 播种time NULL 但我希望能够每秒多次调用我的程序 并每次都获得不同的随机数 这引导我找
  • 如何在dll级别读取app.config? [复制]

    这个问题在这里已经有答案了 我在一个解决方案中有一个控制台应用程序项目和库项目 dll The 图书馆项目有 app config 文件 我在其中存储我在库中使用的一些键值对 控制台应用程序引用此 dll 我有另一个 app config
  • 在哪里可以下载没有 Visual Studio 2010 的 C# 4.0 编译器?

    我知道 CTP VS 2010 映像 但我可以只下载 NET Framework 4 0 和 C 编译器吗 AFAIK VS 2010 CTP 仅作为 VM 映像提供 我不相信 Microsoft 发布了 VS 的安装程序 其中一个绝对不适
  • 这种尺寸对齐是如何工作的

    对于所提供的评论 我无法理解以下代码 这段代码的作用是什么 以及等效的代码是什么8 aligned segment size must be 4 aligned attr gt options ssize 3 Here ssize is o
  • 将 Swagger 与命名空间版本的 WebApi 结合使用

    我已经找到了如何使用基于名称空间的 WebAPI 版本这个班 https aspnet codeplex com SourceControl changeset view dd207952fa86 Samples WebApi Namesp

随机推荐

  • 为什么出现下一代云计算-分布式云 ?

    2020年10月19日 Garnter发布了2021年战略技术趋势 至此 分布式云连续两年 2020 2021 被列入Gartner战略技术趋势榜单了 分布式云 Distributed Cloud Gartner预测 到2025年 超过50
  • [cmake命令笔记]CMake添加C++预定义宏add_definitions

    比如要在代码中有进行宏判断的地方 ifdefine IMAGE PNG xxx endif ifdefine IMAGE JPG xxx endif ifdefine IMAGE TIFF xxx endif 你需要通过宏执行响应代码 那么
  • pytorch:线性回归(Regression)

    使用pytorch python实现回归 程序 import torch import torch nn functional as F from matplotlib import pyplot as plt 创建数据 x torch u
  • Jtest简介

    Jtest是一个集成的 易于使用和Java单元测试工具 它能够自动测试任何Java类 JSP或部件 而不需要你编写一个测试用例 测试驱动程序和测试桩 只需一键 Jtest自动测试代码的构造 白盒测试 代码功能 黑盒测试 并维护代码的完整性
  • caffe convert_image 初略解析

    需要的基础知识 OpenCV 建议去看官网的图文教程 LevelDB http dblab cs toronto edu courses 443 2014 tutorials leveldb html 这个是我学习的教程 今天在看caffe
  • 时序预测

    时序预测 MATLAB实现贝叶斯优化LSTM时间序列预测 BO LSTM 预测效果 基本介绍 相对于模型的参数而言 Parameter 我们知道机器学习其实就是机器通过某种算法学习数据的计算过程 通过学习得到的模型本质上是一些列数字 如树模
  • uni-app富文本渲染方案rich-text、uparse、v-html简单解析

    uniapp语法 rich text 1 rich text是uni app的内置组件 提供了高性能的富文本渲染模式 2 API参考https uniapp dcloud io component rich text 3 rich text
  • 基于PHP的旅游管理系统

    系列文章目录 基于SpringBoot的高校在线答疑管理系统 基于SpringBoot的外卖点餐管理系统 基于SpringBoot的实验室管理系统 目录 系列文章目录 前言 一 相关技术 二 系统设计 1 系统体系结构 2 数据库设计原则
  • [人工智能-数学基础-1]:深度学习中的数学地图:计算机、数学、数值计算、数值分析、数值计算、微分、积分、概率、统计.....

    作者主页 文火冰糖的硅基工坊 https blog csdn net HiWangWenBing 本文网址 https blog csdn net HiWangWenBing article details 119710145 目录 1 为
  • java基础面试题系列(101-112)[完结撒花]

    20200718 by 1z 请说明sleep 和 wait 有什么区别 1 sleep 是Thread的成员方法而Wait 是Object的成员方法 2 sleep 没有释放锁 因此在sleep结束后依旧是原线程执行 而wait 释放了锁
  • pytorch(11)-- crnn 车牌端到端识别

    车牌图片端到端识别 一 前言 二 数据集处理 三 crnn模型文件 四 训练验证代码 五 测试代码 六 代码搬自 一 前言 本文主要记录了使用crnn 对车牌图片做端到端识别 即不用对车牌字符做逐个字符分割识别 车牌第一个字符为汉字 共有3
  • JS的map()方法会改变原始数组吗?

    map 为操作数组的一种方法 官方文档显示 map 方法返回一个新数组 数组中的元素为原始数组元素调用函数处理后的值 map 方法按照原始数组元素顺序依次处理元素 注意 map 不会对空数组进行检测 注意 map 不会改变原始数组 但是我在
  • kali 更新无法引导启动Windows11的解决办法

    摘要 出现的问题描述 更新kali之后 在你的Grub2引导中 没有Windows11的选项 但是通EFI引导是能正常启动系统的 保证Windows11的默认引导项是没有损坏 一 验证操作系统引导项 1 ls 在开机后的Grub引导页面 按
  • Unity 的 mathf.lerp

    Unity 的mathf lerp float a float b float t 是线性插值函数 a b的顺序很重要 如果a 10 b 0 则说明是从10到0的变化 如果是a 0 b 10 则说明是从0向10的变化 t的范围在0 1之间
  • Tomcat 8安装

    https www linuxidc com Linux 2017 10 147773 htm 前提 必须正确安装JDK 一 通过二进制包 tar gz 安装 下载 https mirrors tuna tsinghua edu cn ap
  • 分布式数据库需要考虑的(BigTable VS Dynamo)

    分布式数据库需要考虑的 BigTable VS Dynamo 在设计 评价分布式数据库的时候需要考虑一些最基本的特性 我想这些特性可能包括 1 存储系统 一种是类似BigTable将存储交给GFS去做 GFS会保证写入数据的完整 另外一种是
  • 应用多元统计分析(题解)

    题目 应用多元统计分析 北京大学出版社 第四章 回归分析 习题4 3 具体题目见下图 第一小问解答
  • Halcon深度学习常见问题及解决方法

    一 常见问题及解决办法 1 set dl model param DLModelHandle gpu GpuId GpuId 0 选中第一块显卡做深度学习训练 GpuId 1 选中第二块显卡做深度学习训练 类推 查询可用多显卡信息 quer
  • 使用EasyExce实现Excel文件解析

    hello 你好呀 我是灰小猿 一个超会写bug的程序猿 在上一篇文章中我和大家简单的介绍了使用easyexcel技术在有对象和无对象情况下实现Excel文件的写入操作 那么今天这一篇文章 我就继续来和大家讲一下 使用easyexcel技术
  • 入门力扣自学笔记211 C++ (题目编号:1781)

    1781 所有子字符串美丽值之和 题目 一个字符串的 美丽值 定义为 出现频率最高字符与出现频率最低字符的出现次数之差 比方说 abaacc 的美丽值为 3 1 2 给你一个字符串 s 请你返回它所有子字符串的 美丽值 之和 示例 1 输入