Count inversions in tree traversal

Write codeMedium20 min

Your task

Given a binary tree as a level-order array arr (null for missing) that is NOT guaranteed to be a BST, return the number of adjacent out-of-order pairs in its in-order traversal, that is, the count of consecutive positions (i, i+1) in the in-order sequence where the earlier value is greater than or equal to the later one. A return of 0 means the tree is a valid BST (with strictly increasing in-order). 0 <= node count <= 50000.

Examples

bst_inorder_violations(arr: list[int]) -> int
Example 1
Inputbst_inorder_violations([2, 1, 3])
Output0