

Given an array of integers arr, return true if and only if it is a valid mountain array.
Recall that arr is a mountain array if and only if:

Constraints:
func validMountainArray(arr []int) bool {
if len(arr) <= 2 {
return false
}
l := 0
r := len(arr) - 1
for i := 0; i < len(arr)-1; i++ {
if arr[i] < arr[i+1] {
l++
} else if arr[i] == arr[i+1] {
return false
} else {
break
}
}
for j := len(arr) - 1; j > 0; j-- {
if arr[j] < arr[j-1] {
r--
} else if arr[j] == arr[j-1] {
return false
} else {
break
}
}
if l == r && r != len(arr)-1 && r != 0 {
return true
}
return false
}func validMountainArray(arr []int) bool {
l := len(arr)
if l < 3 {
return false
}
var top int = l
for i := 1; i < l; i++ {
if arr[i] > arr[i-1] {
continue
} else if arr[i] == arr[i-1] {
return false
} else {
top = i-1
break
}
}
for i := top+1; i < l; i++ {
if arr[i] < arr[i-1] {
continue
} else {
return false
}
}
return top > 0 && top < l-1
} func validMountainArray(A []int) bool {
if len(A) < 3 {
return false
}
i := 0
for i < len(A)-2 {
if A[i] == A[i+1] {
return false
} else if A[i] > A[i+1] {
break
}
i++
}
if i == 0 || (i == len(A)-2 && A[i] < A[i+1]) {
return false
}
for i < len(A)-1 {
if A[i] == A[i+1] || A[i] < A[i+1] {
return false
}
i++
}
return true
} func validMountainArray(arr []int) bool {
if len(arr) < 3 {
return false
}
up := 0
down := 0
goingUp := true
for i := 1; i < len(arr); i++ {
if arr[i-1] == arr[i] {
return false
}
if goingUp {
if arr[i-1] > arr[i] {
goingUp = false
down++
} else {
up++
}
} else {
if arr[i-1] < arr[i] {
return false
} else {
down++
}
}
}
if (up > 0 && down > 0) {
return true
}
return false
}func validMountainArray(a []int) bool {
if len(a) < 3 {
return false
}
var mountainStart,slopeStart bool
for i:= 0 ; i < len(a ) - 1 ;i++ {
if a[i] == a[i+1]{
return false
}
if a[i] < a[i+1] {
mountainStart=true
if slopeStart {
return false
}
continue
}else if a[i] > a[i+1] {
if !mountainStart {
return false
}
slopeStart = true
continue
}
}
if mountainStart && slopeStart {
return true
}
return false
}| Arrays101 Replace Elements with Greatest Element on Right Side in GO (2) | 2022.03.05 |
|---|---|
| Arrays 101 Code from Java to Go(In-Place Array Operations Introduction) (0) | 2022.03.05 |
| Arrays101 Check If N and Its Double Exist in go (0) | 2022.03.02 |
| Arrays 101 Code from Java to Go(Search in an Array) (0) | 2022.03.02 |
| Array101 Remove Duplicates from Sorted Array in GO (0) | 2022.03.01 |
댓글 영역