33 lines
463 B
Go
33 lines
463 B
Go
package q3637
|
|
|
|
func isTrionic(nums []int) bool {
|
|
turns := 0
|
|
isInc := true
|
|
for i := 1; i < len(nums); i++ {
|
|
if i == 1 && nums[i] < nums[i-1] {
|
|
return false
|
|
}
|
|
|
|
switch {
|
|
case nums[i] == nums[i-1]:
|
|
return false
|
|
case nums[i] > nums[i-1]:
|
|
if !isInc {
|
|
isInc = true
|
|
turns++
|
|
}
|
|
case nums[i] < nums[i-1]:
|
|
if isInc {
|
|
isInc = false
|
|
turns++
|
|
}
|
|
}
|
|
if turns > 2 {
|
|
return false
|
|
}
|
|
}
|
|
|
|
return turns == 2
|
|
}
|
|
|
|
var _ = isTrionic
|