• 力扣题库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
  • 相关阅读:
    软件测试内卷严重,如何提升自己的竞争力呢?
    论文生成器(论文、文献综述、开题报告……),Java、Python、C++
    Redis -- Nosql
    TCP网络编程入门
    系统学习Java:构建坚实的编程基础
    计算机竞赛 推荐系统设计与实现 协同过滤推荐算法
    ±15kV ESD 保护、3V-5.5V 供电、真 RS-232 收发器MS2232/MS2232T
    linux下的自旋锁、信号量、互斥、完成量
    完全背包问题 —— 贪心优化 DP 范围
    数字化营销到底是什么?与传统营销有什么区别?
  • 原文地址:https://blog.csdn.net/zzl819954692/article/details/134421032