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