day14(11.14)——leetcode面试经典150

3. 无重复字符的最长子串

今天的题顺利写出来了!!!

3. 无重复字符的最长子串

题目:

题解:

java 复制代码
class Solution {
    public int lengthOfLongestSubstring(String s) {
        // 左边界
        int l=0;
        // 不断找最长字符串
        StringBuilder str=new StringBuilder();
        // 最长不重复的长度
        int maxx = 0;
        int index = -1;
        for(int i=0;i<s.length();i++) {
            // StringBuilder 的 indexOf 方法 **只接受 String 参数!
            index = str.indexOf(String.valueOf(s.charAt(i)));
            // 说明在字符串中找到了当前的i
            if(index!=-1) {
                l=index+1;
                str.delete(0,l);
            }
            //这里不能用else,因为如果有重复元素,
            //我们需要把在str中的0-重复元素之间全部删掉,
            //再把当前的i加入,如果没有重复元素,也应该把当前的i加入,
            //这样更新最长长度
            
            // 将当前字符加入str中
            str.append(s.charAt(i));
            // 更新最长
            maxx=Math.max(maxx,str.length());
        }
        return maxx;
    }
}
相关推荐
小李小李快乐不已5 小时前
栈和堆理论基础
c++·算法·leetcode
最爱吃咸鸭蛋5 小时前
LeetCode 97
算法·leetcode·职场和发展
core5125 小时前
CatBoost:自带“翻译官”的算法专家
算法·boost·catboost
YGGP5 小时前
【Golang】LeetCode 139. 单词拆分
算法·leetcode
wuguan_5 小时前
C#递推算法
算法·c#·递推算法
多米Domi0116 小时前
0x3f第14天 最长公共子序列
算法·深度优先
spssau6 小时前
正交试验设计全解析:从正交表生成到极差与方差分析
数据库·算法·机器学习
minhuan6 小时前
大模型应用:不减性能只减负担:大模型稀疏化技术全景与实践.36
大数据·人工智能·算法
爱学大树锯6 小时前
592 · 查找和替换模式
算法
爱学大树锯6 小时前
775 · 回文对
算法