首页 > 其他分享 >3. 无重复字符的最长子串

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

时间:2023-07-02 17:25:17浏览次数:44  
标签:子串 字符 示例 重复 长度 最长

给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。

示例 1:

输入: s = "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。

示例 2:

输入: s = "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。

示例 3:

输入: s = "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
     请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。

提示:

0 <= s.length <= 5 * 104
s 由英文字母、数字、符号和空格组成

我的解答:

class Solution {
    public static int lengthOfLongestSubstring(String s) {
        char[] charArray = s.toCharArray();
        StringBuilder sb = new StringBuilder();
        ArrayList<String> arr=new ArrayList<>();
        for (int i = 0; i <charArray.length ; i++) {
             if(sb.toString().indexOf(charArray[i])!=-1){
                String string = sb.toString();
                 arr.add(sb.toString());
                sb.delete(0,sb.length());
                 sb.append(charArray[i]);

            }else {
                sb.append(charArray[i]);
            }

        }
            int sum=0;
        for (int i = 0; i < arr.size(); i++) {
            int s1len = arr.get(i).length();
            if(s1len>sum){
                sum=s1len;
            }
        }

        return sum;
    }
}


咱也不知道这个空串算0还是 1,反正不管怎么输入都不对。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/longest-substring-without-repeating-characters
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

标签:子串,字符,示例,重复,长度,最长
From: https://www.cnblogs.com/q1359720840/p/17521018.html

相关文章

  • C语言笔记:第8章 字符输入输出
    字符函数getchar()、putchar()与EOF详解:https://www.cnblogs.com/52php/p/5723666.html缓冲区:https://www.cnblogs.com/xkdn/p/14580178.htmlhttps://www.cnblogs.com/buyizhiyou/p/5505280.html ......
  • C语言笔记:第4章 字符串和格式输入输出
    字符串简介:2123   printf函数和scanf函数printf函数输出格式详解:https://www.cnblogs.com/Ahair/p/5017050.htmlhttps://www.cnblogs.com/wucongzhou/p/12668766.htmlscanf函数输入格式详解:https://www.cnblogs.com/morya/p/6067479.htmlhttps://www.cnblogs.com/wu......
  • Python - 编写Unicode 字符串
    Python的字符串字面量支持"\xNN"十六进制字节值转义以及"\uNNNN"和"\UNNNNNNNN"Unicode转义。第一种形式用4位十六进制数编码2字节(16位)位字符码点第二种形式用8位十六进制数编码4字节(32位)码点。十六进制值0xCD和0xE8,是ASCII的7位字符范围之外的两个特殊的声调字符......
  • Python 找出一个字符串出现3次的元素
    方式一:利用字典中key唯一来判断存在时,计数统计给value,不存在时,赋值value为1A='aabbcccdddd'B={}foriinA:ifiinB:#直接判断key在不在字典中B[i]+=1else:B[i]=1print(B)print(B) 方式二:用count去统计......
  • 字符串整理
    制糊串整理(持续更新ing)发现字符串部分真的是空白啊!那就从头开始吧目录制糊串整理(持续更新ing)Manacher算法P4555[国家集训队]最长双回文串P1659[国家集训队]拉拉队排练P5446[THUPC2018]绿绿和串串后缀数组(刚考完合格考,终于有时间了qwq)Manacher算法找回文串的,大家都知道......
  • linux 中 M-BM- 字符的处理
     001、测试数据[root@PC1test]#lsaa.txt[root@PC1test]#cataa.txtQinghaiQinghai shandongShanghaishanxi[root@PC1test]#cat-Aaa.txtQinghai$QinghaiM-BM-$##异常字符shandong$Shanghai$shanxi$ 002、特殊字符的处理[root@PC1test]......
  • 截取字符串
    #切片步长写-1时,表反向输出str_yuan="运命重尊,然自其顺的余其,的做能己自做"#倒叙str1=str_yuan[::-1]#截取start_index=str1.find("顺")end_index=str1.find(",尊")result=str1[start_index:end_index]#倒叙后的结果print(str1)#:做自己能做的,其余的顺......
  • js 使用get 接口如何传递 特殊字符给后端,类似 # 等特殊字符
    今天开发遇到个问题。用户输入了#怎么把文本完整的传递给后端如果直接传输就会出现#之后的东西全都没有,解决方法如下:1,使用其他特殊字符代替,使用replaceAll  //使用replaceAll替换所有#,然后后端再替换回来letnewStr=newQue.replaceAll('#','&')缺点,会......
  • 字符串哈希
    目录字符串哈希例题字符串哈希我们定义一个把字符串映射到整数的函数f,这个f称为是Hash函数我们希望这个函数f可以方便地帮我们判断两个字符串是否相等注意哈希冲突!将Hash函数值一样但原字符串不一样的现象称为哈希冲突。例题P3370【模板】字符串哈希//>>>Qian......
  • 使用 ABAP 正则表达式提高字符串解析的执行效率
    在ABAP(AdvancedBusinessApplicationProgramming)中,正则表达式(RegularExpressions)是一种强大的工具,可用于处理字符串和文本数据。正则表达式可以帮助您执行各种任务,如查找和替换文本、验证输入格式或拆分字符串。本文将介绍在ABAP中使用正则表达式的几种方法。使用CL_ABAP......