找到所有的中间数

python
阅读 44 收藏 0 点赞 0 评论 0

findMiddleNum.py
# 找到所有的中间数

def find_all_middle_num(A):
    bigger_than_left = []
    left_max = 0
    for i in A:
        if i > left_max:
            left_max = i
            bigger_than_left.append(i)

    right_min = max(A) + 1
    sub = len(bigger_than_left) - 1

    all_num = []
    for i in reversed(A):
        if i == bigger_than_left[sub]:
            if i < right_min:
                right_min = i
                all_num.append(i)
            sub -= 1
        elif i < right_min:
            right_min = i

    return all_num

def main():
    A = [3, 1, 6, 4, 5, 7, 9, 8, 10, 14, 12]
    print(find_all_middle_num(A))

if __name__ == "__main__":
    main()
评论列表


问题


面经


文章

微信
公众号

扫码关注公众号