[LeetCode] 3. Longest Substring Without Repeating Characters

传送门

Description

Given a string, find the length of the longest substring without repeating characters.

Examples:

Given “abcabcbb", the answer is "abc", which the length is 3.

Given "bbbbb", the answer is "b", with the length of 1.

Given "pwwkew", the answer is , with "wke" the length of 3. Note that the answer must be a substring, "wke" is a subsequence and not a substring.

思路

题意:给定一个字符串,问最长且不包含相同字母的子串为多少。

题解:具体实现细节看代码

 
 
 C++:
class Solution {
public:
    //18ms
    int lengthOfLongestSubstring(string s) {
        int pos[256];
        memset(pos,-1,sizeof(pos));
        int st = 0,ed = 0,res = 0;
        int len = s.size();
        for (int i = 0;i < len;i++){
            int index = s[i];
            if (pos[index] == -1 || pos[index] < st){
                pos[index] = i;
                res = max(res,i - st + 1);
            }else{
                st = pos[index] + 1;
                pos[index] = i;
            }
        }
        return res;
    }
};


Java:

public class Solution {
    //56ms
    public int lengthOfLongestSubstring(String s) {
        int[] pos = new int[256];
        char[] str = s.toCharArray();
        Arrays.fill(pos,-1);
        int st = 0,res = 0;
        int len = s.length();
        for (int i = 0;i < len;i++){
            int index = str[i];
            if (pos[index] == -1 || pos[index] < st){
                pos[index] = i;
                res = Math.max(res,i - st + 1);
            }else {
                st = pos[index] + 1;
                pos[index] = i;
            }
        }
        return res;
    }
}
posted @   zxzhang  阅读(172)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2016-08-14 HDU 1231 最大连续子序列(水题)
点击右上角即可分享
微信分享提示

目录导航