Advertisement
Alexxik

Untitled

Sep 15th, 2023 (edited)
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.75 KB | None | 0 0
  1. // MARK: - 209 Minimum Size Subarray Sum
  2.  
  3. func minSubArrayLen(_ target: Int, _ nums: [Int]) -> Int {
  4.     var r = 0
  5.     var l = 0
  6.     var summ = 0
  7.     var minLength = Int.max
  8.    
  9.     while r < nums.count {
  10.         summ += nums[r]
  11.        
  12.         // >= так как ищем минимальный (если бы были 0, то можно было бы еще сузить)
  13.         while summ >= target {
  14.             // находится внутри так как мы ищем минимальный
  15.             minLength = min(minLength, r-l+1)
  16.             summ -= nums[l]
  17.             l += 1
  18.         }
  19.        
  20.         r += 1
  21.     }
  22.     return minLength == Int.max ? 0 : minLength
  23. }
  24.  
  25. let numsMin = [2,3,1,2,4,3]
  26. minSubArrayLen(11, numsMin)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement