在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ Given a binary array, find the maximum number of consecutive 1s in this array. Example 1: Input: [1,1,0,1,1,1] Output: 3 Explanation: The first two digits or the last three digits are consecutive 1s. The maximum number of consecutive 1s is 3. Note:
给定一个二进制数组, 计算其中最大连续1的个数。 示例 1: 输入: [1,1,0,1,1,1] 输出: 3 解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3. 注意:
56ms 1 class Solution { 2 func findMaxConsecutiveOnes(_ nums: [Int]) -> Int { 3 if nums.count == 1 && nums[0] == 1{ 4 return 1 5 } 6 var count = 0 7 var res = 0 8 9 for i in 0..<nums.count { 10 if(nums[i] == 1) { count = count + 1 }//遇1则加 11 if(count > res) { res = count }//判断是否大于当前最大连续值 12 if(nums[i] == 0) { count = 0 }//遇0则置为0 13 } 14 return res 15 } 16 } 64ms 1 class Solution { 2 func findMaxConsecutiveOnes(_ nums: [Int]) -> Int { 3 var count = 0 4 var maxcount = 0 5 for num in nums { 6 if num == 1 { 7 count = count + 1 8 maxcount = max(count,maxcount) 9 } else { 10 count = 0 11 } 12 } 13 14 return maxcount 15 } 16 } 76ms 1 class Solution { 2 func findMaxConsecutiveOnes(_ nums: [Int]) -> Int { 3 var res = 0 4 var currentCount = 0 5 6 for num in nums { 7 if num == 1 { 8 currentCount += 1 9 } else { 10 currentCount = 0 11 } 12 if currentCount > res { 13 res = currentCount 14 } 15 } 16 17 return res 18 } 19 } 80ms 1 class Solution { 2 func findMaxConsecutiveOnes(_ nums: [Int]) -> Int { 3 var result: Int = 0 4 var count: Int = 0 5 for num in nums { 6 if num != 1{ 7 if count > result{ 8 result = count 9 } 10 count = 0 11 }else{ 12 count += 1 13 } 14 } 15 return max(count, result) 16 } 17 } 312ms
1 class Solution { 2 func findMaxConsecutiveOnes(_ nums: [Int]) -> Int { 3 var start = -1 4 var maxLength = 0 5 6 for i in 0 ..< nums.count { 7 switch (nums[i], start) { 8 case (1, -1): 9 start = i 10 case (1, _), (0, -1): 11 break 12 case (0, _): 13 maxLength = max(maxLength, i - start) 14 start = -1 15 default: 16 break 17 } 18 } 19 20 if start >= 0 { 21 maxLength = max(maxLength, nums.count - start) 22 } 23 24 return maxLength 25 } 26 } Runtime: 328 ms Memory Usage: 19.2 MB
1 class Solution { 2 func findMaxConsecutiveOnes(_ nums: [Int]) -> Int { 3 var count = 0 4 var returnNum = 0 5 6 for num in nums { 7 count = (count + 1) * num 8 returnNum = max(returnNum, count) 9 } 10 11 return returnNum 12 } 13 }
|
请发表评论