zoukankan      html  css  js  c++  java
  • 【LeetCode 3. Longest Substring Without Repeating Characters】

    Description:

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

    Example 1:

    Input: "abcabcbb"
    Output: 3 
    Explanation: The answer is "abc", with the length of 3.
    

    Example 2:

    Input: "bbbbb"
    Output: 1
    Explanation: The answer is "b", with the length of 1.
    

    Example 3:

    Input: "pwwkew"
    Output: 3
    Explanation: The answer is "wke", with the length of 3. 
    
    Note that the answer must be a substring, "pwke" is a subsequence and not a substring.
    

    翻译:

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

    Kotlin代码实现①

    
        public int lengthOfLongestSubstring(String s) {
            Map<Character, Integer> map = new HashMap<Character, Integer>();
            char[] charArr = s.toCharArray();
            int max = 0;
            int count = 0;
            for (int i = 0; i < charArr.length; i++) {
                Integer last = map.get(charArr[i]);
                if (last == null) {
                    count++;
                    if (count > max) {
                        max = count;
                    }
                } else {
                    int start=i-count;
                    for(int j=start;j<last;j++){
                        map.remove(charArr[j]);
                        count--;
                    }
                }
                map.put(charArr[i], i);
            }
            return max;
        }
    
    

    Kotlin代码实现②

    fun lengthOfLongestSubstring(s: String): Int {
        val n = s.length
        val set = HashSet<Char>()
        var max = 0
        var i = 0
        var j = 0
        while (i < n && j < n) {
            if (!set.contains(s[j])) {
                set.add(s[j++])
                max = Math.max(max, j - i)
            } else {
                set.remove(s[i++])
            }
        }
        return max
    }
    

    参考:
    https://leetcode.com/problems/longest-substring-without-repeating-characters

  • 相关阅读:
    Additional Color Tables
    How to make a non-symmetric color pallet around zero
    【cl】cmd相关命令
    【cl】oracle之Sequence
    常用命令之ps
    卸载oracle
    oracle—无法启动
    oracle 导入数据
    proc文件系统漫谈
    GStreamer插件分类
  • 原文地址:https://www.cnblogs.com/MillerKevin/p/12769960.html
Copyright © 2011-2022 走看看