Start learning free

LESSON 160 OF 414 · LOOPING OVER ARRAY INDICES

Top K Brands V3 - Max in Array in Scala

Practice

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

You start with:

        val brands = Array("TechPro", "MegaCorp", "Quantum", "NeoByte", "Zenith")
        val ratings = Array(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 println(...).

Walk the positions with for (i <- 1 until ratings.size) { and compare each rating with the best one so far.

Scala's + on a String and an Int converts the number to text for you.

        val brands = Array("TechPro", "MegaCorp", "Quantum", "NeoByte", "Zenith")
        val ratings = Array(4, 5, 3, 5, 4)

        var bestIndex = 0
        for (i <- 1 until ratings.size) {
            if (ratings(i) > ratings(bestIndex)) {
                bestIndex = i
            }
        }
        println("1. " + brands(bestIndex) + " (" + ratings(bestIndex) + ")")

STEP 1 OF 5
    Ctrl + Enter to check

    Top K Brands V3 in Scala

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