资源简介

西电软院算法上机1的原题以及python代码实现(用python就不用怕查重啦)

资源截图

代码片段和文件信息

#!/usr/bin/env python
# coding=utf-8


def search_k(al ar bl br k):
    am = (al + ar) / 2
    bm = (bl + br) / 2
    if al > ar:
        return numsb[bl + k - 1]
    if bl > br:
        return numsa[al + k - 1]
    if numsa[am] <= numsb[bm]:
        if k <= (am - al) + (bm - bl) + 1:
            return search_k(al ar bl bm - 1 k)
        else:
            return search_k(am + 1 ar bl br k - (am - al) - 1)
    else:
        if (k <= (am - al) + (bm - bl) + 1):
            return search_k(al am - 1 bl br k)
        else:
            return search_k(al ar bm + 1 br k - (bm - bl) - 1)
    return -1


def main():
    k = int(raw_input(‘Input K: ‘))
    n = search_k(0 len(numsa) - 1 0 len(numsb) - 1 len(numsa) + len(numsb) + 1 - k)
    print n

if __name__ == ‘__main__‘:
    numsa = [0 3 6 7 11 16 23]
    numsb = [1 5 10 15 19 26 28]
    main()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-05-06 14:16  homework\
     文件         888  2016-03-29 09:30  homework\divide_conquer.py
     文件        1277  2016-03-29 11:37  homework\merge_select.py
     文件       15872  2016-03-28 16:39  homework\practice 1.doc
     文件        1863  2016-03-29 11:18  homework\priority_queue.py
     文件         335  2016-03-29 11:38  homework\quick_sort.py

评论

共有 条评论