Bird
Raised Fist0
Kotlinprogramming~5 mins

Break and continue behavior in Kotlin - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Break and continue behavior
O(n)
Understanding Time Complexity

When we use break or continue in loops, it changes how many times the loop runs.

We want to see how these keywords affect the total work the program does as input grows.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


fun findFirstEven(numbers: List<Int>): Int? {
    for (num in numbers) {
        if (num % 2 == 0) {
            return num
        }
    }
    return null
}

fun printOdds(numbers: List<Int>) {
    for (num in numbers) {
        if (num % 2 == 0) continue
        println(num)
    }
}
    

This code searches for the first even number and stops early, and also prints only odd numbers skipping evens.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Looping through the list of numbers.
  • How many times: For findFirstEven, loop stops early when an even number is found; for printOdds, loop runs through all elements but skips printing evens.
How Execution Grows With Input

For findFirstEven, if the first even number is near the start, the loop runs few times; if none or last, it runs through all.

For printOdds, the loop always checks every number, but skips printing evens.

Input Size (n)Approx. Operations in findFirstEvenApprox. Operations in printOdds
10Between 1 and 10 checks10 checks and some prints
100Between 1 and 100 checks100 checks and some prints
1000Between 1 and 1000 checks1000 checks and some prints

Pattern observation: break can reduce work if condition met early; continue skips some steps but loop still runs fully.

Final Time Complexity

Time Complexity: O(n)

This means the program's work grows roughly in direct proportion to the input size, even with break or continue.

Common Mistake

[X] Wrong: "Using break always makes the loop run in constant time."

[OK] Correct: Sometimes the loop stops early, but if the condition is met late or never, the loop still runs through all items.

Interview Connect

Understanding how break and continue affect loop time helps you explain your code clearly and reason about efficiency in real tasks.

Self-Check

What if we replaced break with a flag variable to stop processing after finding the first even number? How would the time complexity change?

Practice

(1/5)
1. What does the break statement do inside a Kotlin loop?
easy
A. Stops the entire loop immediately
B. Skips the current iteration and continues the loop
C. Restarts the loop from the beginning
D. Pauses the loop until a condition is met

Solution

  1. Step 1: Understand the role of break

    The break statement immediately stops the whole loop when executed.
  2. Step 2: Compare with other loop controls

    Unlike continue, which skips only the current step, break ends the loop fully.
  3. Final Answer:

    Stops the entire loop immediately -> Option A
  4. Quick Check:

    break stops loop = B [OK]
Hint: Remember: break = stop loop, continue = skip step [OK]
Common Mistakes:
  • Confusing break with continue
  • Thinking break skips only one iteration
  • Assuming break restarts the loop
2. Which of the following is the correct syntax to skip the current iteration in a Kotlin for loop?
easy
A. continue
B. break
C. skip
D. stop

Solution

  1. Step 1: Identify the keyword to skip iteration

    In Kotlin, continue is used to skip the current loop iteration and move to the next.
  2. Step 2: Check other options for correctness

    break stops the loop, skip and stop are not valid Kotlin keywords.
  3. Final Answer:

    continue -> Option A
  4. Quick Check:

    Skip iteration = continue [OK]
Hint: Use continue to skip steps inside loops [OK]
Common Mistakes:
  • Using break instead of continue
  • Using non-existent keywords like skip or stop
  • Confusing syntax with other languages
3. What will be the output of this Kotlin code?
for (i in 1..5) {
    if (i == 3) break
    print(i)
}
medium
A. Error
B. 12345
C. 345
D. 12

Solution

  1. Step 1: Analyze the loop and break condition

    The loop runs from 1 to 5. When i equals 3, break stops the loop immediately.
  2. Step 2: Determine printed values before break

    Values 1 and 2 are printed before hitting i == 3, then loop stops.
  3. Final Answer:

    12 -> Option D
  4. Quick Check:

    Loop stops at 3, prints 1 and 2 [OK]
Hint: Break stops loop before printing 3 [OK]
Common Mistakes:
  • Assuming 3 is printed before break
  • Thinking loop continues after break
  • Confusing break with continue
4. Find the error in this Kotlin code snippet:
for (i in 1..5) {
    if (i == 3) continue
    if (i == 6) break
    print(i)
}
medium
A. The loop will run infinitely
B. continue cannot be used inside for loops
C. The break condition is unreachable
D. Syntax error in if statements

Solution

  1. Step 1: Check loop range and conditions

    The loop runs from 1 to 5, so i == 6 never happens.
  2. Step 2: Analyze break condition reachability

    Since i never reaches 6, the break statement is never executed, making it unreachable code.
  3. Final Answer:

    The break condition is unreachable -> Option C
  4. Quick Check:

    Break at i=6 unreachable in 1..5 loop [OK]
Hint: Check loop range matches break condition [OK]
Common Mistakes:
  • Assuming break will run at i=6
  • Thinking continue is invalid in loops
  • Believing loop runs infinitely
5. Consider this Kotlin code:
var sum = 0
for (i in 1..10) {
    if (i % 2 == 0) continue
    if (sum > 10) break
    sum += i
}
print(sum)

What is the output?
hard
A. 25
B. 11
C. 9
D. 16

Solution

  1. Step 1: Understand loop behavior with continue and break

    The loop adds only odd numbers (because even numbers are skipped by continue). It stops when sum > 10.
  2. Step 2: Calculate sum step-by-step

    Odd numbers: 1,3,5,7,9
    i=1: sum=0 <=10, sum=1
    i=3: sum=1 <=10, sum=4
    i=5: sum=4 <=10, sum=9
    i=7: sum=9 <=10, sum=16
    i=9: sum=16 >10, break (no add 9).
  3. Final Answer:

    11 -> Option B
  4. Quick Check:

    Sum odd numbers until sum > 10 = 11 [OK]
Hint: Add odds, stop when sum exceeds 10 [OK]
Common Mistakes:
  • Adding even numbers mistakenly
  • Breaking before sum exceeds 10
  • Miscounting sum steps
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard