• 力扣题库3.无重复字符的最长子串


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

    Swift

    /*
     * 滑动窗口法
     */
    func lengthOfLongestSubstring(_ s: String) -> Int {
            
            let strlen = s.count
            let chs: [Character] = Array(s)
        
            var map = [Character : Int]()
            var start = 0
            
            var maxLen: Int = 0
            for i in 0..<chs.count {
                let char = chs[i]
                if let preIdx = map[char] {
                    start = max(start, preIdx+1)
                }
                
                map[char] = i;
                maxLen = max(maxLen, i-start+1)
                
                print(start, maxLen)
            }
            
            return maxLen
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    OC

    /*
     * 滑动窗口法
     */
     - (NSInteger)lengthOfLongestSubstring:(NSString *)s {
        if (s.length < 2) {
            return s.length;
        }
        
        NSInteger strLen = s.length;
        NSInteger maxLen = 0;
        NSInteger start = 0;
        NSMutableDictionary *map = [NSMutableDictionary dictionary];
        
        for (NSInteger i=0; i
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
  • 相关阅读:
    Web前端大作业:基于bootstrap响应式页面,家具装修公司网站
    持续集成(二)Jenkins基本使用介绍
    zynq pl访问ps ddr
    simucpp系列教程(7)坟墓
    强大、优秀的文件管理软件评测:图片管理、书籍管理、文献管理
    白帽信息收集
    ElasticSearch配置
    【Django | 开发】面试招聘信息网站(划分面试官权限&集成钉钉消息)
    逆向-破零
    JavaScript逻辑题:一个篮球的高度为100米 每次落地弹起高度为前一次高度的0.6 问多少次之后高度小于1米?
  • 原文地址:https://blog.csdn.net/zzl819954692/article/details/134421032