Sobes.tech
Middle

Դո՞ք սլայսը մոնոտոն է: Մոնոտոն ֆունկցիա է, որը մեկ փոփոխականով է, սահմանված է իրական թվերի որոշ ենթակազմում, և կամ ամբողջովին (իր սահմանման տարածքում) նվազում է, կամ ամբողջովին չի աճում: {1,7} - ճիշտ {1,1} - ճիշտ {3,3,1} - ճիշտ {9,5,1} - ճիշտ {23,5,23} - սխալ

sobes.tech AI

Պատասխան 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