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;
    }
}
相关推荐
gihigo199837 分钟前
matlab 基于瑞利衰落信道的误码率分析
算法
foxsen_xia1 小时前
go(基础06)——结构体取代类
开发语言·算法·golang
foxsen_xia1 小时前
go(基础08)——多态
算法·golang
leoufung1 小时前
用三色 DFS 拿下 Course Schedule(LeetCode 207)
算法·leetcode·深度优先
im_AMBER2 小时前
算法笔记 18 二分查找
数据结构·笔记·学习·算法
C雨后彩虹2 小时前
机器人活动区域
java·数据结构·算法·华为·面试
MarkHD3 小时前
车辆TBOX科普 第53次 三位一体智能车辆监控:电子围栏算法、驾驶行为分析与故障诊断逻辑深度解析
算法
苏小瀚3 小时前
[算法]---路径问题
数据结构·算法·leetcode
月明长歌4 小时前
【码道初阶】一道经典简单题:多数元素(LeetCode 169)|Boyer-Moore 投票算法详解
算法·leetcode·职场和发展
wadesir4 小时前
C语言模块化设计入门指南(从零开始构建清晰可维护的C程序)
c语言·开发语言·算法