LeetCode 2210. [Java]Count Hills and Valleys in an Array
原题链接
简单
作者:
tt2767
,
2022-03-20 13:54:30
,
所有人可见
,
阅读 334
class Solution {
public int countHillValley(int[] nums) {
List<Integer> list = new ArrayList<>();
for (int k = 0 ; k < nums.length; k++) {
if (list.isEmpty() || nums[k] != list.get(list.size() - 1)) list.add(nums[k]);
}
int count = 0;
for (int i = 1; i <= list.size() - 2; i++){
if (check(i, list)) {
count++;
}
}
return count;
}
public boolean check(int i, List<Integer> list) {
return (list.get(i-1) < list.get(i) && list.get(i) > list.get(i+1))
|| (list.get(i-1) > list.get(i) && list.get(i) < list.get(i+1));
}
}