Middle
Este un slice monoton? O funcție monotonă este o funcție de o variabilă, definită pe un subset al numerelor reale, care fie nu scade peste tot (pe domeniul său), fie nu crește peste tot. {1,7} - adevărat {1,1} - adevărat {3,3,1} - adevărat {9,5,1} - adevărat {23,5,23} - fals
sobes.tech AI
Răspuns de la AI
Pentru a determina dacă o listă este monotonă, trebuie verificat dacă nu este în creștere (fiecare element următor nu este mai mic decât cel anterior) sau nu este în descreștere (fiecare element următor nu este mai mare decât cel anterior).
Exemplu de funcție în Go care verifică monotonia unei liste de numere întregi:
func isMonotonic(nums []int) bool {
if len(nums) <= 1 {
return true
}
increasing := true
decreasing := true
for i := 1; i < len(nums); i++ {
if nums[i] > nums[i-1] {
decreasing = false
}
if nums[i] < nums[i-1] {
increasing = false
}
}
return increasing || decreasing
}
Exemplu de utilizare:
fmt.Println(isMonotonic([]int{1,7})) // true
fmt.Println(isMonotonic([]int{1,1})) // true
fmt.Println(isMonotonic([]int{3,3,1})) // true
fmt.Println(isMonotonic([]int{9,5,1})) // true
fmt.Println(isMonotonic([]int{23,5,23})) // false