第三题并不是前面的就是父节点 你需要自己判断;
第一题: 借鉴LeetCode的41题的思想https://leetcode.com/problems/first-missing-positive/
def change(arr):
    res=0
    for i in range(len(arr)):
        while (arr[i]!=arr[arr[i]]):
            res+=1
            arr[arr[i]],arr[i]=arr[i],arr[arr[i]]
    return res
def p1():
    n=int(input())
    arr=[int(i) for i in input().split()]
    ind=sorted(range(n),key=lambda x:arr[x]) # 返回index
    print(change(ind))