Sobes.tech
Middle

Kesma monotonmi yoki yo'qligini? Monoton funktsiya — bu bir o'zgaruvchili funktsiya bo'lib, u haqiqiy sonlar to'plamida aniqlangan bo'lib, u har doim (o'zining aniqlash doirasida) kamaymaydi yoki har doim oshmaydi. {1,7} - ha {1,1} - ha {3,3,1} - ha {9,5,1} - ha {23,5,23} - yo'q

sobes.tech AI

AIdan javob

Bir ro'yxat monoton bo'lib-emasligini aniqlash uchun, uni yoki kamaymaydigan (har bir keyingi element oldingi elementdan kichik emas) yoki kamaymaydigan (har bir keyingi element oldingi elementdan katta emas) ekanligini tekshirish kerak.

Go tilida butun sonlar ro'yxatining monotonligini tekshiradigan funktsiya misoli:

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
}

Foydalanish misoli:

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