package com.算法专练.力扣.统计子串中的唯一字符;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author xnl
* @Description:
* @date: 2022/9/6 21:36
*/
public class Solution {
public static void main(String[] args) {
Solution solution = new Solution();
String str = "ABA";
System.out.println(solution.uniqueLetterString(str));
}
public int uniqueLetterString(String s) {
Map<Character, List<Integer>> index = new HashMap<>();
for (int i = 0; i < s.length(); i++){
char c = s.charAt(i);
if (!index.containsKey(c)){
index.put(c, new ArrayList<>());
index.get(c).add(-1);
}
index.get(c).add(i);
}
int res = 0;
for (Map.Entry<Character, List<Integer>> entry : index.entrySet()) {
List<Integer> value = entry.getValue();
value.add(s.length());
for (int i = 1; i < value.size() - 1; i++){
res += (value.get(i) - value.get(i - 1) ) * (value.get(i + 1) - value.get(i));
}
}
return res;
}
}
相关推荐
形位公差标注的常见误区与优化策略
本文深入解析机械设计中形位公差标注的常见误区与优化策略,特别针对NX2406用户提供实用技巧。从标注冗余、基准选择到公差值设定等五大误区入手,结合工程图实例展示如何提升标注精度与效率,帮助工程师避免常见错误,优化设计流程,确保零件功能实现与制造可行性。
图解LeetCode——828. 统计子串中的唯一字符(难度:困难)
即:A出现4次 + A出现6次 + A出现6次 + A出现4次 = 20。通过上面的例子,我们将问题转换为。
老服务器焕新记:在Dell R730上折腾Nvidia K80显卡的完整记录(含Anaconda环境配置)
本文详细记录了在Dell R730服务器上为Nvidia K80计算卡安装驱动、配置CUDA及Anaconda环境的完整过程。文章重点解决了老旧硬件与CentOS 7系统的兼容性问题,提供了从BIOS设置、驱动版本精准匹配到Python机器学习环境搭建的实战指南,旨在帮助读者低成本挖掘旧服务器的GPU计算潜力。
JAVA程序设计:统计子串中的唯一字符(LeetCode:828)
我们定义了一个函数 countUniqueChars(s) 来统计字符串 s 中的唯一字符,并返回唯一字符的个数。 例如:s = "LEETCODE" ,则其中 "L", "T","C","O","D" 都是唯一字符,因为它们只出现一次,所以 countUniqueChars(s) = 5 。 本题将会给你一个字符串 s ,我们需要返回 countUniqueChars(t) 的总和,其中 t...
SystemRDL:从寄存器描述到自动化生成的完整指南
本文详细介绍了SystemRDL如何通过“一份描述,多处生成”的理念,彻底解决芯片与FPGA设计中手动维护寄存器带来的不一致与低效问题。文章提供了从语言快速上手、核心组件讲解到使用PeakRDL工具链实现自动化代码与文档生成的完整实战指南,帮助硬件工程师构建高效、可靠的寄存器开发流程。
[数字电路]用与非门实现BCD译码器驱动数码管
Hello,大家好。这里是xdd_core,好久不见。今天来和大家聊聊大一数字电路课程的一个课设。# Key word:BCD Decoder,Proteus8.x,NAND Gate,Digital Circuit# 流程:Proteus8.x仿真电路并绘制PCB导出Gerber文件打样,最终实物验证。# 以下为我对这个课设的report(里面对整个设计做了详细介绍,并设计了完整的验证电路) 感谢观看,仅供参考,未经作者允许,禁止转载/抄袭,本文已上传至数据库,查重必挂QAQ BCD to 7-Segme
【LeetCode:828. 统计子串中的唯一字符 | 贡献法 & 乘法原理】
【LeetCode:828. 统计子串中的唯一字符 | 贡献法 & 乘法原理】我们定义了一个函数 countUniqueChars(s) 来统计字符串 s 中的唯一字符,并返回唯一字符的个数。 例如:s = "LEETCODE" ,则其中 "L", "T","C","O","D" 都是唯一字符,因为它们只出现一次,所以 countUniqueChars(s) = 5 。 本题将会给你一个字符串 s ,我们需要返回 countUniqueChars(t) 的总和,其中 t 是 s 的子字符串。输入用例保
SAP 中配置权限职责菜单并分配给用户的核心流程是:用PFCG 创建 / 维护角色(含菜单、事务码、权限)→ 生成权限参数文件 → 通过 SU01/SU10 将角色分配给用户
SAP权限配置核心流程:1)通过PFCG创建角色,配置菜单事务码及权限对象;2)生成权限参数文件;3)用SU01/SU10分配角色给用户。关键步骤包括:在PFCG中维护菜单结构、设置权限字段值、生成Profile,通过用户比较验证权限。批量分配可用SU10,特殊需求可创建复合角色或自定义权限对象。常见问题需检查权限缺失(SU53)、菜单分配及组织级别设置。流程简化为:创建角色→配置权限→分配用户→验证生效。
leetcode:828. 统计子串中的唯一字符【贡献题 + 记录同一个c的下标 + 分别记录每个c的贡献】
Map的操作 HashMap的定义 computeIfAbsent更新新的valuesString的操作 用charAt对于List 使用get方法可以找元素。
性能测试能力提升-线程、并发、吞吐量、TPS、QPS、响应时间
接着上一篇的知识:性能测试能力提升-关于性能测试,本篇文章,我们将主要介绍以下几方面的知识: 线程数&并发用户数 相对并发&绝对并发 吞吐量 TPS&QPS 响应时间
从Overleaf上导出Latex论文发布到arxiv详细教程(常见问题与解决)
如果是做cv的论文请选择“Computer Vision and Pattern Recognition”,选择“Artificial Intelligence”可能会被on hold,貌似这个指的是传统的人工智能?我用公司邮箱注册发布一篇论文,一个多月还是“on hold”状态,换成edu邮箱第二天就被发布了。3、有可能是subject class选错了,编辑会帮你手动选择,然后发一封邮件告知你解除……报错缺失bbl等文件,这是因为从Menu中下载的话,是没有bbl文件的。论文被on hold。
Leetcode—828.统计子串中的唯一字符【困难】
枚举所有种类字母在s中出现的位置,分别统计只包含这个字母不包含该类字母中其他字母的子串个数。
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
Java实现 LeetCode 828 统计子串中的唯一字符(暴力+转数组)
828. 统计子串中的唯一字符 我们定义了一个函数 countUniqueChars(s) 来统计字符串 s 中的唯一字符,并返回唯一字符的个数。 例如:s = “LEETCODE” ,则其中 “L”, “T”,“C”,“O”,“D” 都是唯一字符,因为它们只出现一次,所以 countUniqueChars(s) = 5 。 本题将会给你一个字符串 s ,我们需要返回 countUniqueChars(t) 的总和,其中 t 是 s 的子字符串。注意,某些子字符串可能是重复的,但你统计时也必须算上这些重复的
霍尼韦尔SoftMaster使用说明
霍尼韦尔SoftMaster使用说明
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
LeetCode 828. 统计子串中的唯一字符(中心扩展)
1. 题目 我们定义了一个函数 countUniqueChars(s) 来统计字符串 s 中的唯一字符,并返回唯一字符的个数。 例如:s = “LEETCODE” ,则其中 “L”, “T”,“C”,“O”,“D” 都是唯一字符,因为它们只出现一次,所以 countUniqueChars(s) = 5 。 本题将会给你一个字符串 s ,我们需要返回 countUniqueChars(t) 的总和,其中 t 是 s 的子字符串。 注意,某些子字符串可能是重复的,但你统计时也必须算上这些重复的子字符串(也就是说
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
Leetcode-828. 统计子串中的唯一字符
Leetcode-828. 统计子串中的唯一字符
Leetcode 828. 统计子串中的唯一字符 C++
Leetcode 828. 统计子串中的唯一字符 题目 我们定义了一个函数 countUniqueChars(s) 来统计字符串 s 中的唯一字符,并返回唯一字符的个数。 例如:s = “LEETCODE” ,则其中 “L”, “T”,“C”,“O”,“D” 都是唯一字符,因为它们只出现一次,所以 countUniqueChars(s) = 5 。 本题将会给你一个字符串 s ,我们需要返回 countUniqueChars(t) 的总和,其中 t 是 s 的子字符串。注意,某些子字符串可能是重复的,但你统
Leetcode.828 统计子串中的唯一字符
dp
力扣算法题——828.统计子串中的唯一字符
统计子串中的唯一字符
LeetCode 828. 统计子串中的唯一字符
对于第一个a:他只对a,ab,abc有贡献度,a前面可以组成的串为0 -(-1)=1个,后面为3 - 0 = 3个,根据乘法原理有 3 * 1 = 3 个。对于第二个a:前面有3 - 0 = 3个,后面有5 -3 = 2个,可以理解为(bca, ca, a) * ('', b) 注意有''哈。a b c a d a:统计a出现的下标为:-1 0 3 5 6,为了方便计算在前后补充-1和n。
LeetCode 0828. 统计子串中的唯一字符
LeetCode 0828. 统计子串中的唯一字符 我们定义了一个函数 countUniqueChars(s) 来统计字符串 s 中的唯一字符,并返回唯一字符的个数。
Leetcode 828. 统计子串中的唯一字符
Leetcode 828. 统计子串中的唯一字符
LeetCode每日一题——828. 统计子串中的唯一字符
LeetCode每日一题——828. 统计子串中的唯一字符
828. 统计子串中的唯一字符
,那么由于s字符串中的字符都是彼此不重复的,所以,总结果其实就是“A”、“B”、“C”、“D”这个四个字符在所有10个子串中出现的次数之和,即:A出现4次 + A出现6次 + A出现6次 + A出现4次 = 20。其实意思就是给一个字符串s,先将s分解为N个子串,然后再针对每个子串进行计算,计算方式是:子串中仅出现1次的字符,算作1,出现多次的字符,则不计算在内,然后将结果相加。当然,这是一个子串的计算方式,我们拆分出N的子串,就都要这么计算一下,最终N个子串的总结果,就是本题的返回值。
245



被折叠的 条评论
为什么被折叠?



