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