首页 > 试题广场 >

当A的所有数组均为负数时,FIND-MAXIMUM-SUBA

[问答题]
当A的所有数组均为负数时,FIND-MAXIMUM-SUBARRAY返回什么?
FIND-MAXIMUN-SUBARRAY(A, low, high)
if high == low
    return(low, high, A[low])
else
    mid = (low + high) / 2
    (left_low, left_high, left_sum) = FIND-MAXIMUN-SUBARRAY(A, low, mid)
    (rihgt_low, rihgt_high, rihgt_sum) = FIND-MAXIMUN-SUBARRAY(A, mid + 1, high)
    (cross_low, cross_high, cross_sum) = FIND-MAX-CROSSING-SUBARRAY(A, low, mid, high)
    if left_sum >= right_sum and left_sum >= cross_sum
        return(left_low, left_high, left_sum)
    elseif right_sum >= left_sum and right_sum >= cross_sum
        return(right_low, right_high, right_sum)
    else
        return(cross_low, cross_high, cross_sum)

这道题你会答吗?花几分钟告诉大家答案吧!