文章目录

  • 1. 题目
  • 2. 解题

1. 题目

给你一个字符串 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 只含小写英文字母

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/largest-substring-between-two-equal-characters
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 记录每个字符出现的第一次的位置,和最后一次的位置
class Solution {public:int maxLengthBetweenEqualCharacters(string s) {vector<int> start(26, -1);int maxlen = -1;for(int i = 0; i < s.size(); ++i) {int idx = s[i]-'a';if(start[idx]== -1)start[idx] = i;elsemaxlen = max(maxlen, i-start[idx]-1);}return maxlen;}
};

4 ms 6.3 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 1624. 两个相同字符之间的最长子字符串相关推荐

  1. 【LeetCode刷题】1624. 两个相同字符之间的最长子字符串

    给你一个字符串 s,请你返回 两个相同字符之间的最长子字符串的长度 ,计算长度时不含这两个字符.如果不存在这样的子字符串,返回 -1 . 子字符串 是字符串中的一个连续字符序列. 示例 1: 输入:s ...

  2. LeetCode简单题之两个相同字符之间的最长子字符串

    题目 给你一个字符串 s,请你返回 两个相同字符之间的最长子字符串的长度 ,计算长度时不含这两个字符.如果不存在这样的子字符串,返回 -1 . 子字符串 是字符串中的一个连续字符序列. 示例 1: 输 ...

  3. 使用Python 正则匹配两个特定字符之间的字符方法

    string = "<KeysViewHDF5 ['Inoisy']>" import redef cut_out(a,b,string):result = re.fi ...

  4. leetcode 1371.每个元音包含偶数次的最长子字符串(find the longest substring containing vowels in even counts)C语言

    leetcode 1371.每个元音包含偶数次的最长子字符串(find the longest substring containing vowels in even counts)C语言 1.des ...

  5. js实现查找两个相同字符串之间的最长子字符串长度

    例如: 输入一个字符串:avbghvhv 先找两个相同字符串就是 1位置的v 和 最后一个v 那么它两之间最长子字符串长度就是 avbghvhv :5 代码实现:  const str = 'avbg ...

  6. LeetCode 1371. 每个元音包含偶数次的最长子字符串

    https://leetcode-cn.com/problems/find-the-longest-substring-containing-vowels-in-even-counts/ 这道题一开始 ...

  7. [leetcode]5337. 每个元音包含偶数次的最长子字符串

    前缀和,下次记住前缀和,从1开始存,cnt[0] 存0 class Solution {public:int findTheLongestSubstring(string s) {int len = ...

  8. Java中string字符串和char字符之间的千丝万缕

    目录 前言 String字符串和char字符的区别 拓展 相互转换 String字符串转换成char字符数组 char字符转换成String字符串 char字符数组转换成String字符串 Strin ...

  9. Excel截取两个相同字符前中后字符串

    一.截取字符前的字符串 =LEFT(D5,FIND("*",D5)-1) 二.截取两个相同字符之间字符串 =TRIM(MID(SUBSTITUTE(D5,"*" ...

最新文章

  1. 安卓的短信记录导入苹果_安卓换苹果手机后怎么转移便签数据?
  2. 霍夫变换直线检测基本原理
  3. 基于keras的深度学习基本概念讲解
  4. 【哈佛商评】关于数据分析,管理者的四个常规错误
  5. 【VS Code】vue.js ESLint + vscode 代码格式配置
  6. 【QM-06】Material Specification(物料说明)续
  7. python 自定义函数和循环_Python循环语句——对for循环和while循环应用自定义函数公式的实践,套用,练习...
  8. cad高程如何提取到cass软件_建筑CAD软件中如何设置墙厚标注? - 数码区
  9. Angular 事件绑定语法在 SAP Spartacus Popover Component 中的一个应用
  10. 买下千万美元豪宅的库克 在周日获得了价值3600万美元股票
  11. arcgis 属性表中起点终点创建线_【ArcGIS开发】shapefile矢量数据遍历、求交、与属性更新...
  12. 【3月22日】2022年百度机器学习春实习笔试题解
  13. eclipse编android计算机,在eclipse中制作的android 计算器程序
  14. 股票交易数据接口是什么?
  15. RadASM的主题更换!
  16. excel 组合框控件使用方法
  17. linux用ping命令测试网速,怎么用ping命令测试网速
  18. oracle 将钱转换万元单位,oracle 金额单位转换
  19. linux监控工具 go实现,Gotop:另一个 TUI 图形活动监视器,使用 Go 编写
  20. Fatal signal 11 (SIGSEGV) at 0x00000048 (code=1)

热门文章

  1. E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用) E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-front
  2. linux模拟网络延迟,使用Nistnet搭建网络延迟模拟设备 (network delay simulator)
  3. C++中模板使用详解
  4. AJAX-服务器响应
  5. 生命游戏c语言代码easy,c++生命游戏源码
  6. 驱动开发中常用的操作和小知识
  7. 字符设备驱动高级篇1——新接口介绍
  8. cocos2dx 3.4 截图代码
  9. 洛谷 P1272 重建道路
  10. P2548 [AHOI2004]智能探险车