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.两数相加
Loading...