由于二叉树的每个结点值都不同,所以可以用一个 dict 记录每个值当前所在的位置,以及一个 b 表示最终先序遍历有序的数组 从前往后遍历第 i 个元素:
小红拿到了一个二叉树,每个节点的权值都不相同。小红每次操作可以交换任意两个节点的权值,他希望用尽可能少的操作,使得二叉树的先序遍历序列为一个升序的数组,你能帮帮他吗?
第一行,一个整数 n 表示二叉树中节点数量
第二行,n 个整数 ai 表示二叉树先序遍历情况下每个节点的权值
1≤n≤106,1≤ai≤109
一个整数,表示使得二叉树的先序遍历序列是一个升序数组的最少操作次数
输入
3
1 3 2
输出
1