rust_test/src/main.rs

38 lines
846 B
Rust
Raw Normal View History

struct Solution;
impl Solution {
pub fn count_hill_valley(nums: Vec<i32>) -> i32 {
let mut down = false;
for i in 1..nums.len() {
if nums[i] != nums[0]{
down = nums[i] < nums[0];
break;
2025-07-22 21:59:38 +08:00
}
}
let mut ans = 0;
for i in 2..nums.len() {
if nums[i] == nums[i-1]
{
continue;
}
if down && nums[i] >nums[i-1]
{
ans += 1;
down = false;
continue;
}
if !down && nums[i] < nums[i-1] {
ans += 1;
down = true;
continue;
}
}
ans
}
}
fn main() {
let sl = Solution::count_hill_valley(vec![6,6,5,5,4,1]);
println!("{}", sl);
}