Check if Array Is Sorted and Rotated
给一个数组, 问这个数组在任意rotate后,是不是sorted, 数组里有重复元素.
这个题都check一下也能过, 然后如果做过以前的rotated sorted array就知道一个array rotate后, 也只会有一个峰值. 所以比较差值即可.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
class Solution { public boolean check(int[] nums) { int count = 0; for(int i = 1 ; i < nums.length; i++) { if(nums[i] < nums[i - 1]) count++; } if(nums[nums.length - 1] > nums[0]) count++; if(count <= 1){ return true; } else{ return false; } } } |