剑指 Offer II 011. 0 和 1 个数相同的子数组

2022-04-12  本文已影响0人  邦_

其实前缀和这个不是太懂。。 这道题的话 是把0转换成了-1


func findMaxLength(_ nums: [Int]) -> Int {
        
        var count = 0
        var sum = 0

        var dict = Dictionary<Int,Int>()
        dict[0] = 0
        
        for i in 0..<nums.count {
            
            sum += ( nums[i] == 0 ? -1 : 1 )
           
            if let temp = dict[sum]  {
                
                count = max(count, i + 1 - temp )
                
            }else {
                
                dict[sum] = i + 1
                
            }
            
           
    
        }

        return count

            
    }








上一篇 下一篇

猜你喜欢

热点阅读