Start learning free

LESSON 160 OF 404 · LOOPING OVER ARRAY INDICES

Top K Brands V3 - Max in Array in Go

Practice

Many brands sell the same product, stored in two parallel slices: ratings[i] is the rating of brands[i]. Find the highest-rated brand by scanning with a loop.

You start with:

brands := []string{"TechPro", "MegaCorp", "Quantum", "NeoByte", "Zenith"}
ratings := []int{4, 5, 3, 5, 4}

Build:

1. MegaCorp (5)

Rules:

  • Keep the position of the best brand so far in bestIndex, starting at 0, and scan the positions from 1 to the end with a loop.
  • Update bestIndex only on a strictly higher rating. If two brands share the top rating, the one listed first wins (MegaCorp at position 1, not NeoByte at position 3).
  • Format the winner as "1. Brand (rating)" and print it with fmt.Println(...).

Walk the positions with for i := 1; i < len(ratings); i++ { and compare each rating with the best one so far.

Go needs strconv.Itoa(...) to turn an int into text before joining it with +.

brands := []string{"TechPro", "MegaCorp", "Quantum", "NeoByte", "Zenith"}
ratings := []int{4, 5, 3, 5, 4}

bestIndex := 0
for i := 1; i < len(ratings); i++ {
    if ratings[i] > ratings[bestIndex] {
        bestIndex = i
    }
}
fmt.Println("1. " + brands[bestIndex] + " (" + strconv.Itoa(ratings[bestIndex]) + ")")

STEP 1 OF 5
    Ctrl + Enter to check

    Top K Brands V3 in Go

    Keep going with GoAbout 340 step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free