美文网首页
Maximum Subarray. Θ(n)

Maximum Subarray. Θ(n)

作者: R0b1n_L33 | 来源:发表于2017-09-19 22:37 被阅读8次
    ///Maximum Subarray. Θ(n)
    func maximumSubarray(_ array: [Int]) -> (Int, Int, Int) {
        var low = -1, high = -1, sum = Int.min
        var currentLow = -1, currentHigh = -1, currentSum = Int.min
        for i in 0..<array.count {
            if currentSum < 0 {
                currentSum = array[i]
                currentLow = i
            } else {
                currentSum += array[i]
            }
            currentHigh = i
            if currentSum > sum {
                sum = currentSum
                high = currentHigh
                low = currentLow
            }
        }
        return (low, high, sum)
    }
    
    var s = try Int.randomArray(above: -10, under: 10)
    maximumSubarray(s)
    

    相关文章

      网友评论

          本文标题:Maximum Subarray. Θ(n)

          本文链接:https://www.haomeiwen.com/subject/vzogsxtx.html