type
status
date
Oct 29, 2023 10:55 AM
slug
summary
tags
category
icon
password
Parent item
Sub-item
 
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。
 

方法一:暴力枚举

不忘初心,双循环,记录一下长度
 

方法二

  • ans用于存储当前找到的最长不重复子字符串的长度
  • headtail分别表示当前子字符串的起始和结束位置
  • buffer用于记录每个字符是否在当前子字符串中出现过,128对应ASCII字符集的长度
遍历字符串
  • 使用tail变量遍历字符串s
  • 如果s[tail]字符在buffer中未出现过,则将其标记为已出现,并将tail向右移动一位
  • 如果s[tail]字符在buffer中已出现过,则计算当前子字符串的长度(tail - head),并更新ans为较大的值
    • 通过移动head,清空bufferheadtail之间出现过的字符标记,直到head指向s[tail],并将head指向s[tail]的下一个位置
  • 最后,再次检查并更新ans,确保包含最后一个字符的子字符串长度也被考虑在内
2.两数相加5. 最长回文子串
Loading...
琥珀
琥珀
一个普通的干饭人🍚
最新发布
在不使用UnityHub情况下打开Unity项目
2024-11-6
4. 寻找两个正序数组的中位数
2024-8-28
3.无重复字符的最长字串
2024-8-28
2.两数相加
2024-8-28
1.两数之和
2024-8-28
5. 最长回文子串
2024-8-28
公告

🍕一切安好🍕