【教3妹学算法】两个雷同字符之间的最宗子字符串

分享
源码 2024-10-7 05:50:32 26 0 来自 中国
插: 前些天发现了一个巨牛的人工智能学习网站,平凡易懂,风趣幽默,不由得分享一下给各人。点击跳转到网站。
坚固不拔,越积极越幸运,各人一起学习鸭~~~
3妹:2哥,你有没有看到消息,长沙电信大楼着火了。
2哥:看到了,几十层楼被熊熊大火包围了。
3妹:恩,幸亏职员有序撤离,没有职员伤亡。
2哥:嗯,也是不幸中的万幸了。
3妹:2哥,本日周六了,预备干什么去呀?
2哥:还是呆在家里吧,梅花台风刚过,出去太热了。
3妹:我也不想出去,懒的动。
2哥:不出去陪男朋侪逛街吗?
3妹:2哥烦人,明知道我还是只身狗?,不理你了。
标题:

给你一个字符串 s,请你返回 两个雷同字符之间的最宗子字符串的长度 ,盘算长度时不含这两个字符。如果不存在如许的子字符串,返回 -1 。
子字符串 是字符串中的一个连续字符序列。
示例 1:
输入:s = "aa"
输出:0
表明:最优的子字符串是两个 'a' 之间的空子字符串。
示例 2:
输入:s = "abca"
输出:2
表明:最优的子字符串是 "bc" 。
示例 3:
输入:s = "cbzxy"
输出:-1
表明:s 中不存在出现出现两次的字符,以是返回 -1 。
示例 4:
输入:s = "cabbac"
输出:4
表明:最优的子字符串是 "abba" ,其他的非最优解包罗 "bb" 和 "" 。
提示:
1 <= s.length <= 300
s 只含小写英笔墨母
java代码:

class Solution {    public int maxLengthBetweenEqualCharacters(String s) {        int max = -1;        Map<Character, Integer> map = new HashMap<>();        char[] ch = s.toCharArray();        for (int i = 0; i < ch.length; i++) {            if (map.containsKey(ch)) {                max = Math.max(max, i - map.get(ch) - 1);            } else {                map.put(ch, i);            }        }                return max;    }}
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 16:47, Processed in 0.176199 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表