Count Hills and Valleys in an Array
You are given a 0-indexed integer array nums. An index i is part of a hill in nums if the closest non-equal neighbors of i are smaller than nums[i]. Similarly, an index i is part of a valley in nums if the closest non-equal neighbors of i are larger than nums[i]. Adjacent indices i and j are part of the same hill or valley if nums[i] == nums[j].
Note that for an index to be part of a hill or valley, it must have a non-equal neighbor on both the left and right of the index.
Return the number of hills and valleys in nums.
#
# #
# # #
# # #
# # # #
# # # # # #
2 4 1 1 6 5nums = [2,4,1,1,6,5]3# # # # # # # # # # # # # # # # # # # # # # # # # # # 6 6 5 5 4 1
nums = [6,6,5,5,4,1]0Constraints
- 3 <= nums.length <= 100
- 1 <= nums[i] <= 100
Asked at 5 companies
Practice questions like this out loud in a mock coding interview with a live AI interviewer. First one free.