| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> [算法练习]leetcode-6050. 字符串的总引力 -> 正文阅读 |
|
[数据结构与算法][算法练习]leetcode-6050. 字符串的总引力 |
题目链接 字符串的 引力 定义为:字符串中 不同 字符的数量。 例如,"abbca" 的引力为 3 ,因为其中有 3 个不同字符 'a'、'b' 和 'c' 。 子字符串 定义为:字符串中的一个连续字符序列。 示例 1: 输入:s = "abbca" 来源:力扣(LeetCode) 所有的连续子数组是[i, j]? i <= j 的组合,直接枚举所有情况,是O(N^2)的时间复杂度, 可以考虑使用动态规划来分析,假设f(i)是以第i个元素为起始点的所有情况, f(0) = [0, 0], [0,1], [0,2], [0,3] ……? f(1) =? [1,1], [1,2], [1,3] …… 可以看到,f(1)的结果可以从f(0)推导出来,分为a[0] == a[1]和a[0] != a[1]的情况, 按照这个思路,可以这样写
对于这个题目,也可以假设f(i)是以a[i]为末尾的情况,这样处理,程序写起来更清楚一些, 上面的题目是求>=1的个数,下面的题目比较相似,是求==1的数量,采用f(i)是以a[i]为末尾的情况来处理,
另外子数组的题目,需要考虑使用单调栈找左右区间, |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 3:35:32- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |