小王同学不会写代码 2022-05-30 09:30 采纳率: 80%
浏览 58
已结题

用python完成分治策略

设A 和B都是从小到大已经排好序的几个不等的整数构成的数组,如果把 A 与B合并后的数组记作C,设计一个算法找出C的中位数python实现而且是分治策略

  • 写回答

1条回答 默认 最新

  • 不会长胖的斜杠 新星创作者: 后端开发技术领域 2022-05-30 09:50
    关注

    望采纳,谢谢!

    def getmid(a, b):
        k = int(len(a) / 2)
        #print(k, a, b)
        if len(a) == 1:
            return (a[0] + b[0]) / 2
        if a[k] == b[k]:
            return a[k]
        elif a[k] < b[k]:
            return getmid(a[k+1:], b[:k])
        else:
            return getmid(a[:k], b[k:])
    
    
    
    lsta = [0,1,2,4,8]
    lstb = [3,5,7,8,9]
    
    print(getmid(lsta,lstb))
    
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月9日
  • 已采纳回答 6月1日
  • 创建了问题 5月30日