Sobes.tech
Middle

Je plát monotónny? Monotónna funkcia je funkcia jednej premennej, definovaná na podmnožine reálnych čísel, ktorá buď všade (na svojom definičnom obore) nerastie, alebo všade (na svojom definičnom obore) neklesá. {1,7} - pravda {1,1} - pravda {3,3,1} - pravda {9,5,1} - pravda {23,5,23} - nepravda

sobes.tech AI

Odpoveď od AI

Na určenie, či je zoznam monotónny, je potrebné skontrolovať, či nie je rastúci (každý nasledujúci prvok nie je menší ako predchádzajúci) alebo nie je klesajúci (každý nasledujúci prvok nie je väčší ako predchádzajúci).

Príklad funkcie v Go, ktorá kontroluje monotónnosť zoznamu celých čísel:

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
}

Príklad použitia:

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