Sobes.tech
Middle

Да ли је срез монотонан? Монотонна функција је функција једне променљиве, дефинисана на подскупу реалних бројева, која или уопште (на свом домену) не опада, или уопште не расте. {1,7} - тачно {1,1} - тачно {3,3,1} - тачно {9,5,1} - тачно {23,5,23} - нетачно

sobes.tech АИ

Одговор од АИ

Da biste odredili da li je lista monoton, potrebno je proveriti da li je nerastuća (svaki sledeći element nije manji od prethodnog) ili nerastuća (svaki sledeći element nije veći od prethodnog).

Primer funkcije u Go koja proverava monotonost liste celih brojeva:

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
}

Primer upotrebe:

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