Sobes.tech
Middle

Dilim monoton mu? Monoton bir fonksiyon, tanım kümesi üzerinde ya her yerde (tanım alanında) azalmayan ya da her yerde artmayan bir tek değişkenli fonksiyondur. {1,7} - doğru {1,1} - doğru {3,3,1} - doğru {9,5,1} - doğru {23,5,23} - yanlış

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir dizinin monoton olup olmadığını belirlemek için, ya artmayan (her sonraki eleman önceki elemandan küçük değil) ya da azalmayan (her sonraki eleman önceki elemandan büyük değil) olup olmadığını kontrol etmek gerekir.

İşte Go dilinde bir tamsayı dizisinin monotonluğunu kontrol eden bir fonksiyon örneği:

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
}

Kullanım örneği:

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