828. 统计子串中的唯一字符

我们定义了一个函数 countUniqueChars(s) 来统计字符串 s 中的唯一字符,并返回唯一字符的个数。

例如:s = “LEETCODE” ,则其中 “L”, “T”,“C”,“O”,“D” 都是唯一字符,因为它们只出现一次,所以 countUniqueChars(s) = 5 。

本题将会给你一个字符串 s ,我们需要返回 countUniqueChars(t) 的总和,其中 t 是 s 的子字符串。注意,某些子字符串可能是重复的,但你统计时也必须算上这些重复的子字符串(也就是说,你必须统计 s 的所有子字符串中的唯一字符)。

由于答案可能非常大,请将结果 mod 10 ^ 9 + 7 后再返回。

示例 1:

输入: “ABC”

输出: 10

解释: 所有可能的子串为:“A”,“B”,“C”,“AB”,“BC” 和 “ABC”。

其中,每一个子串都由独特字符构成。

所以其长度总和为:1 + 1 + 1 + 2 + 2 + 3 = 10

示例 2:

输入: “ABA”

输出: 8

解释: 除了 countUniqueChars(“ABA”) = 1 之外,其余与示例 1 相同。

示例 3:

输入:s = “LEETCODE”

输出:92

提示:

0 <= s.length <= 10^4

s 只包含大写英文字符

  1. class Solution {
  2. /*
  3. 大佬的解释(比官方的解释
  4. Java实现 LeetCode 828 统计子串中的唯一字符(暴力+转数组)的更多相关文章

      1. Java笔记13:统计文件中每个字符出现的次数
      1. 一.代码实现 import java.io.*; import java.util.*; /** 功能:统计文件中每个字符出现的次数 思路: 1.定义字符读取(缓冲)流 2.循环读取文件里的字符,用一 ...

      1. 统计字符串中每种字符出现的评率(HashMap中getOrDefault(K, V)方法的使用)
      1. 为了统计字符串中每种字符出现的频率,使用HashMap这种数据结构.其中,字符作为Key,出现的频率作为Value. 基本算法为: 1. 将字符串分成字符数组 2. (1)如果HashMap中的Key ...

      1. Java实现 LeetCode 395 至少有K个重复字符的最长子串
      1. 395. 至少有K个重复字符的最长子串 找到给定字符串(由小写字符组成)中的最长子串 T , 要求 T 中的每一字符出现次数都不少于 k .输出 T 的长度. 示例 1: 输入: s = " ...

      1. Java实现 LeetCode 466 统计重复个数
      1. 466. 统计重复个数 定义由 n 个连接的字符串 s 组成字符串 S,即 S = [s,n].例如,["abc", 3]="abcabcabc". 另一方面, ...

      1. Leetcode 467.环绕字符串中的唯一子字符串
      1. 环绕字符串中的唯一子字符串 把字符串 s 看作是"abcdefghijklmnopqrstuvwxyz"的无限环绕字符串,所以 s 看起来是这样的:"...zabcdef ...

      1. Java实现 LeetCode 771 宝石与石头(这是真暴力)
      1. 771. 宝石与石头 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头. S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石. J 中的字母不重复,J 和 ...

      1. Java实现 LeetCode 467 环绕字符串中唯一的子字符串
      1. 467. 环绕字符串中唯一的子字符串 把字符串 s 看作是"abcdefghijklmnopqrstuvwxyz"的无限环绕字符串,所以 s 看起来是这样的:"-zabc ...

      1. Java实现 LeetCode 730 统计不同回文子字符串(动态规划)
      1. 730. 统计不同回文子字符串 给定一个字符串 S,找出 S 中不同的非空回文子序列个数,并返回该数字与 10^9 + 7 的模. 通过从 S 中删除 0 个或多个字符来获得子字符序列. 如果一个字符 ...

      1. Java实现 LeetCode 557 反转字符串中的单词 III(StringBuilder的翻转和分割)
      1. 557. 反转字符串中的单词 III 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例 1: 输入: "Let's take LeetCode c ...

    1. 随机推荐

        1. [hdu5033]单调队列
        1. 题意:x轴上有n棵树,询问你站在某个点的视角.从左至右,单调队列(类似凸包)维护下.我强迫症地写了个模板QAQ #include <iostream> #include <cstdi ...

        1. 开源电影项目源码案例重磅分析,一套代码发布小程序、APP平台多个平台
        1. uni-app-Video GitHub地址:https://github.com/Tzlibai/uni-app-video 一个优秀的uni-app案例,旨在帮助大家更快的上手uni-app,共同 ...

        1. PAT 1011 World Cup Betting (20分) 比较大小难度级别
        1. 题目 With the 2010 FIFA World Cup running, football fans the world over were becoming increasingly exc ...

        1. 微信小程序通信录
        1. 第一步:phone.wxml中 <view bindlongtap="clickPhone">{{phoneNum}}</view> 第二步:phone.j ...

        1. Redis安装启动(linux系统)
        1. Redis简介 redis是以kv存储的nosql非关系型数据库 sql支持事务性,nosql不支持 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间 ...

        1. 09 基于模块wsgiref版web框架
        1. 09 基于模块wsgiref版web框架 模块引入 真实开发中的python web程序,一般会分为两部分:       服务器程序:负责对socket服务器进行封装,并在请求到来时,对请求的各种数据 ...

        1. Django操作session
        1. session是存放在服务端的,在django中使用session必须要先在数据库中创建django_session表,session相关信息都要依赖此表 获取session request.sess ...

        1. SpringBoot教程——检视阅读
        1. SpringBoot教程--检视阅读 参考 SpringBoot教程--一点--蓝本--springboot2.1.1 SpringBoot教程--易百--springboo2.0.5.RELEASE ...

        1. MySQL(7)— 索引
        1. 七.索引 MySQL官方对索引的定义为:索引(Index)是帮助 MySQL 高效 获取数据的数据结构. 7-1.索引的分类 主键索引 (primary key) 唯一的标识,主键不可重复,只能有一个 ...

        1. hdu3861他的子问题是poj2762二分匹配+Tarjan+有向图拆点 其实就是求DAG的最小覆盖点
        1. The King’s Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...