Sobes.tech
Middle
40

Slice монотонды ма? Монотонды функция — бір айнымалы функция, ол нақты сандардың кейбір қосымшасында анықталған, ол барлық жерде (өзінің анықталу аймағында) төмендемейді немесе жоғарыламайды. {1,7} - шын {1,1} - шын {3,3,1} - шын {9,5,1} - шын {23,5,23} - жалған

Сұралған компаниялар
OZONOZON

AI-дан жауап

sobes.tech AI

Чтобы определить, является ли слайс монотонным, нужно проверить, либо он неубывающий (каждый следующий элемент не меньше предыдущего), либо невозрастающий (каждый следующий элемент не больше предыдущего).

Пример функции на Go, которая проверяет монотонность слайса целых чисел:

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
}

Пример использования:

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