题目链接:
力扣https://leetcode-cn.com/problems/count-hills-and-valleys-in-an-array/
【分析】先遍历一遍在原数组上去重,然后根据要求找就行了。
class Solution {
public int countHillValley(int[] nums) {
int n = nums.length;
int i, m = 1;
for(i = 1; i < n; i++){
if(nums[i] != nums[i - 1]) nums[m++] = nums[i];
}
m--;
int ans = 0;
for(i = 1; i < m; i++){
if(nums[i] > nums[i - 1] && nums[i] > nums[i + 1]) ans++;
if(nums[i] < nums[i - 1] && nums[i] < nums[i + 1]) ans++;
}
return ans;
}
}