Count inversions in tree traversal
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`.
Implement
bst_inorder_violations(arr: list[int]) → intExamples
in
[[2,1,3]]out0What a strong answer looks like
State your approach and its time/space complexity out loud before you optimize. Handle the edge cases (empty input, duplicates, overflow), and say why you chose this over the brute force. Green tests are the floor, not the grade.
0:00 of about 20 min
solution.py
InputExpectedGot
[[2,1,3]]0not run yetsample