国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

最近看的一個小算法

2019-11-11 00:08:34
字體:
來源:轉載
供稿:網友
         最近想看算法書,一不小心看到的一個小東西,好久沒更,更上來看 看。
#coding=utf-8       # 計算和最大的子數組  def divide_a(low, high):     return (low + high) / 2  def combine_a(left_sub, right_sub, cross_sub):     if left_sub[2] > right_sub[2] and left_sub[2] > cross_sub[2]:         return left_sub     elif right_sub[2] > left_sub[2] and right_sub[2] > cross_sub[2]:         return right_sub     else:         return cross_sub  def find_max_cross(A, low, high, mid):     left_sum = 0     left_max_sum =A[mid]     left_max_low = mid     for i in range(mid, low-1, -1):         left_sum = A[i] + left_sum         if left_max_sum < left_sum :             left_max_low = i             left_max_sum = left_sum     right_sum = 0     right_max_sum = A[mid + 1]     right_max_high = mid + 1      for i in range(mid + 1, high+1):         right_sum = A[i] + right_sum         if right_max_sum < right_sum:              right_max_high = i;             right_max_sum = right_sum;     PRint (left_max_low, right_max_high, left_max_sum + right_max_sum)     return (left_max_low, right_max_high, left_max_sum + right_max_sum)  def divide_and_conquer_a(A, low, high):         #攻克     if low == high:         return (low, high, A[low])         #分解     mid = divide_a(low, high)         #遞歸     left_sub = divide_and_conquer_a(A, low, mid)     right_sub = divide_and_conquer_a(A, mid+1, high)     cross_sub = find_max_cross(A, low, high, mid)         #合并     return combine_a(left_sub, right_sub, cross_sub)  if __name__ == "__main__":     A = [13, -3, -25, 20, -3, -16, -23, 18, 20, -7, 12, -5, -22, 15, -4, 7]     t = divide_and_conquer_a(A,0,15)     print t
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 炉霍县| 织金县| 洱源县| 晋宁县| 凤山市| 临清市| 仁化县| 顺平县| 东丽区| 高陵县| 泸溪县| 柳河县| 洮南市| 马边| 三穗县| 酒泉市| 青州市| 迁西县| 县级市| 满洲里市| 宜川县| 甘肃省| 桃源县| 广州市| 灌阳县| 娄烦县| 莱芜市| 都兰县| 班戈县| 华容县| 囊谦县| 峨山| 宁海县| 曲周县| 华安县| 金溪县| 灵武市| 本溪| 靖安县| 屯留县| 兴国县|