Middle
40
Slice монотонды ма? Монотонды функция — бір айнымалы функция, ол нақты сандардың кейбір қосымшасында анықталған, ол барлық жерде (өзінің анықталу аймағында) төмендемейді немесе жоғарыламайды. {1,7} - шын {1,1} - шын {3,3,1} - шын {9,5,1} - шын {23,5,23} - жалған
Сұралған компаниялар
AI-дан жауап
sobes.tech AI
Чтобы определить, является ли слайс монотонным, нужно проверить, либо он неубывающий (каждый следующий элемент не меньше предыдущего), либо невозрастающий (каждый следующий элемент не больше предыдущего).
Пример функции на Go, которая проверяет монотонность слайса целых чисел:
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
}
Пример использования:
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