美文网首页
算法学习——求最长无重复子串

算法学习——求最长无重复子串

作者: 松花江以南 | 来源:发表于2020-04-02 23:34 被阅读0次

LeetCode刷题:3. 无重复字符的最长子串

题目要求如下:

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

示例 1:

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

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

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

解题思路

  • 字符串拼接子串
  • 滑块思想

Swift实现源码

class Solution {
    func lengthOfLongesSubstring(_ s: String) -> Int {
        print("传入的字符串为\(s)")
        var len = 0
        var str = ""
        for c in s {
            if !str.contains(c) {
                str = String("\(str)\(c)")
                len = max(str.count, len)
            }else{
                len = max(str.count, len)
                let range = str.range(of: String(c))
                let index = str.distance(from: str.startIndex, to: range!.lowerBound)
                let from = str.index(str.startIndex, offsetBy: index+1)
                let sub = String(str[from...])
                str = String("\(sub)\(c)")
            }
        }
        return len
    }
}

相关文章

  • iOS面试题汇总---算法类

    字符串 【3】最长回文子串 【3】最长无重复子串 【1*】字符串转数字 【4】KMP 算法 【2】字符串全排列 【...

  • 文章收藏

    iOS面试题系列之常见算法 排序算法整理 字符串【3】最长回文子串【3】最长无重复子串【1*】字符串转数字【4】K...

  • 算法学习——求最长无重复子串

    LeetCode刷题:3. 无重复字符的最长子串 题目要求如下: 解题思路 字符串拼接子串 滑块思想 Swift实现源码

  • 【leetcode3】 3. Longest Substrin

    关键字:最长不重复子串、双指针 难度:Medium 题目大意:求一个字符串最长不重复子串的长度 题目: Given...

  • 算法1-无重复字符的最长子串

    无重复字符的最长子串 首先分析一下题目,求给定字符串的最长不重复子串,思路应该是分治不断降规模,把长度为n的字符串...

  • 3、Longest SubString Without Repe

    Examples:找出最长无重复子串长度Given "abcabcbb", the answer is "abc"...

  • 最长不重复问题

    题目:求最长无重复子串从一个字符串中找到一个连续子串,该子串中任何两个字符不能相同,求子串的最大长度并输出一条最长...

  • Longest Substring Without Repeat

    题目:求最长无重复子串从一个字符串中找到一个连续子串,该子串中任何两个字符不能相同,求子串的最大长度并输出一条最长...

  • 算法-字符串之最长无重复子串

    算法字符串系列的第四篇文章,计算给定字符串的最长无重复子串。 这篇文章主要介绍两种方法,一种是基于hash的思想,...

  • [Leetcode][3][longest substring

    题目描述: 最长连续无重复子字符串Example 1: Input: "abcabcbb"Output: 3Exp...

网友评论

      本文标题:算法学习——求最长无重复子串

      本文链接:https://www.haomeiwen.com/subject/bquqphtx.html