题目来源:
leetcode题目,网址:2210. 统计数组中峰和谷的数量 - 力扣(LeetCode)
解题思路:
按要求遍历数组判断即可。
解题代码:
class Solution {
public int countHillValley(int[] nums) {
int res=0;
for(int i=1;i<nums.length-1;i++){
int left=i-1;
while(left>=0 && nums[left]==nums[i]){
left--;
}
if(left<0){
continue;
}
int right=i+1;
while(right<nums.length && nums[right]==nums[i]){
right++;
}
if(right==nums.length){
break;
}
if((nums[left]<nums[i] && nums[i]>nums[right]) || (nums[left]>nums[i] && nums[i]<nums[right])){
res=res+1;
}
i=right-1;
}
return res;
}
}
总结:
官方题解也是逐个判断。