Solution Review: Array Index Maximum Difference
This review provides a detailed analysis of different ways to solve the array index maximum difference.
First solution
We use a brute force approach in which we find indices i
and j
such that arr[j] > arr[i]
. Weāll use two loops, one to select the index i
and one to traverse from the size of the array to index.
Coding exercise
Press + to interact
package mainimport("fmt")func ArrayIndexMaxDiff(arr []int, size int) int {maxDiff := -1j := 0for i := 0; i < size; i++ {j = size - 1for j > i {if arr[j] > arr[i] {if maxDiff < (j - i) {maxDiff = (j - i)}break}j -= 1}}return maxDiff}//Testing codefunc main() {arr := []int{33, 9, 10, 3, 2, 60, 30, 33, 1}fmt.Println("ArrayIndexMaxDiff : ", ArrayIndexMaxDiff(arr, len(arr)))}
Complexity analysis
Its time complexity is ...