Python分治问题

原题

img


想用python解


```python
loss = input()
list = sorted(map(int,input().split()))
print(list[1])

结果为


答案错误50

如果要体现分治思路,可以在过程中做一下分治处理,参考代码如下

def find_second(arr):
    if len(arr) < 2:
        return None
    elif len(arr) == 2:
        return arr[1]
    else:
        mid = len(arr) // 2
        left = find_second(arr[:mid])
        right = find_second(arr[mid:])
        if left is not None and right is not None:
            return min(left, right)
        elif left is not None:
            return left
        else:
            return right

n = int(input())
arr = list(map(int, input().split()))

# 排序
arr.sort()

print(find_second(arr))