Middle
Ar yra sluoksnis monotoniškas? Monotoninė funkcija yra viena kintamojo funkcija, apibrėžta tam tikroje realių skaičių dalyje, kuri arba visur (savo apibrėžimo srityje) nesumažėja, arba visur (savo apibrėžimo srityje) nepadidėja. {1,7} - teisinga {1,1} - teisinga {3,3,1} - teisinga {9,5,1} - teisinga {23,5,23} - neteisinga
sobes.tech AI
Atsakymas iš AI
Norint nustatyti, ar sąrašas yra monotoniškas, reikia patikrinti, ar jis nėra kylantis (kiekvienas sekantis elementas nėra mažesnis už ankstesnį) arba nėra mažėjantis (kiekvienas sekantis elementas nėra didesnis už ankstesnį).
Pavyzdys funkcijos Go kalba, kuri tikrina viso skaičių sąrašo monotoniškumą:
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
}
Naudojimo pavyzdys:
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