Bird
Raised Fist0
Swiftprogramming~5 mins

Break and continue behavior in Swift - Time & Space Complexity

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

When we use break or continue in loops, it changes how many times the loop runs. This affects how long the code takes to finish.

We want to see how these commands change the work done as the input grows.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


var sum = 0
for i in 1...n {
    if i == 5 {
        break
    }
    if i % 2 == 0 {
        continue
    }
    sum += i
}

This code loops from 1 to n, but stops early if i reaches 5, and skips adding even numbers.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The for-loop running from 1 to n.
  • How many times: The loop stops early at i = 5 due to break, so it runs at most 5 times.
How Execution Grows With Input

Because the loop stops at 5, the number of steps does not grow with n after a point.

Input Size (n)Approx. Operations
105
1005
10005

Pattern observation: The work stays the same even if n gets bigger because of the break.

Final Time Complexity

Time Complexity: O(1)

This means the loop runs a fixed number of times, no matter how big the input is.

Common Mistake

[X] Wrong: "The loop always runs n times, so time is O(n)."

[OK] Correct: Because the break stops the loop early, it only runs a few times, not all n times.

Interview Connect

Understanding how break and continue affect loops helps you explain code efficiency clearly and shows you can think about real code behavior.

Self-Check

"What if we removed the break statement? How would the time complexity change?"

Practice

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

Solution

  1. Step 1: Understand the role of break in loops

    The break statement immediately stops the loop and exits it, no matter where it is in the loop.
  2. Step 2: Compare with other options

    continue skips to the next iteration, but break stops the loop entirely. Restarting or pausing the loop is not the behavior of break.
  3. Final Answer:

    Stops the entire loop immediately and exits it. -> Option D
  4. Quick Check:

    break stops loop [OK]
Hint: Break means stop the loop completely [OK]
Common Mistakes:
  • Confusing break with continue
  • Thinking break restarts the loop
  • Assuming break pauses the loop
2. Which of the following is the correct syntax to skip the current iteration in a Swift for loop?
easy
A. skip
B. continue
C. break
D. stop

Solution

  1. Step 1: Identify the keyword to skip iteration

    In Swift, continue is used to skip the rest of the current loop iteration and move to the next one.
  2. Step 2: Verify other options

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

    continue -> Option B
  4. Quick Check:

    Skip iteration = continue [OK]
Hint: Use continue to skip current loop step [OK]
Common Mistakes:
  • Using break instead of continue
  • Using non-existent keywords like skip or stop
  • Confusing continue with break
3. What will be the output of this Swift code?
for i in 1...5 {
    if i == 3 {
        break
    }
    print(i)
}
medium
A. 1 2
B. No output
C. 3 4 5
D. 1 2 3 4 5

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 reaching 3. At 3, loop stops, so 3, 4, 5 are not printed.
  3. Final Answer:

    1 2 -> Option A
  4. Quick Check:

    Break stops at 3, prints before it [OK]
Hint: Break stops loop before printing 3 [OK]
Common Mistakes:
  • Assuming break skips only current iteration
  • Thinking all numbers print
  • Confusing break with continue
4. Find the error in this Swift code snippet:
for i in 1...5 {
    if i == 3 {
        continue
    }
    if i == 6 {
        break
    }
    print(i)
}
medium
A. break should come before continue in the code.
B. continue cannot be used inside a for loop.
C. The loop will never break because i never reaches 6.
D. The range 1...5 is invalid.

Solution

  1. Step 1: Check the loop range and conditions

    The loop runs from 1 to 5, so i will never be 6.
  2. Step 2: Analyze the break condition

    Since i == 6 never occurs, the break statement will never execute, so the loop runs fully except skipping 3 due to continue.
  3. Final Answer:

    The loop will never break because i never reaches 6. -> Option C
  4. Quick Check:

    Break condition unreachable [OK]
Hint: Check if break condition can ever be true [OK]
Common Mistakes:
  • Thinking continue is invalid in for loops
  • Assuming break runs before continue always
  • Not checking loop range carefully
5. You want to print all numbers from 1 to 10 except 5 and stop printing after 8. Which code snippet correctly uses break and continue in Swift?
hard
A. for i in 1...10 { if i == 5 { continue } if i > 8 { break } print(i) }
B. for i in 1...10 { if i == 5 { break } if i > 8 { continue } print(i) }
C. for i in 1...10 { if i == 5 { continue } if i > 7 { continue } print(i) }
D. for i in 1...10 { if i == 5 { break } if i > 8 { break } print(i) }

Solution

  1. Step 1: Understand requirements

    Skip printing 5 (use continue) and stop printing after 8 (use break when > 8).
  2. Step 2: Check each option

    for i in 1...10 { if i == 5 { continue } if i > 8 { break } print(i) } uses continue to skip 5 and break to stop after 8, matching requirements exactly.
  3. Final Answer:

    for i in 1...10 { if i == 5 { continue } if i > 8 { break } print(i) } -> Option A
  4. Quick Check:

    Continue skips 5, break stops loop after 8 [OK]
Hint: Continue skips, break stops loop [OK]
Common Mistakes:
  • Using break to skip 5 instead of continue
  • Using continue to stop loop after 8
  • Mixing order of break and continue incorrectly
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