Sobes.tech
Middle

Is een slice monotoon? Een monotone functie is een functie van één variabele, gedefinieerd op een deelverzameling van de reële getallen, die of overal (op haar domein) niet afneemt, of overal niet toeneemt. {1,7} - waar {1,1} - waar {3,3,1} - waar {9,5,1} - waar {23,5,23} - onwaar

sobes.tech AI

Antwoord van AI

Om te bepalen of een lijst monotoon is, moet je controleren of deze niet-afnemend (elke volgende niet kleiner is dan de vorige) of niet-toenemend (elke volgende niet groter is dan de vorige) is.

Voorbeeld van een functie in Go die de monotoniciteit van een lijst van gehele getallen controleert:

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
}

Voorbeeld van gebruik:

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