c++(0ms) one pass 
IntuitionApproachComplexity
Time complexity:

Space complexity:
Code
# Intuition
<!-- Describe your first thoughts on how to solve this problem. -->

# Approach
<!-- Describe your approach to solving the problem. -->

# Complexity
- Time complexity:
<!-- Add your time complexity here, e.g. $$O(n)$$ -->

- Space complexity:
<!-- Add your space complexity here, e.g. $$O(n)$$ -->

# Code
```cpp []
class Solution {
public:
  int minimumRightShifts(vector<int>& nums) {
    bool isPeek = false;
    int id = 0;
    
    for(int i = 1; i != nums.size(); ++i)
      if(nums[i] < nums[i-1])
        if(isPeek || nums[i] > nums[0]) return -1;
        else isPeek = true, id = nums.size() - i;
    
    if(isPeek && nums.back() > nums[0]) return -1;
    return id;
  }
};
```
['C++']