Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // MinMax return min and max O(1.5n)
- func MinMax(A []int) (min int, max int) {
- if len(A) < 1 {
- return 0, 0
- }
- min, max = A[0], A[0]
- mi, ma := 0, 0
- for i := 1; i < len(A)-1; i += 2 {
- if A[i] > A[i+1] {
- mi, ma = A[i+1], A[i]
- } else {
- mi, ma = A[i], A[i+1]
- }
- if ma > max {
- max = ma
- }
- if mi < min {
- min = mi
- }
- }
- return min, max
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement