Bird
Raised Fist0
Goprogramming~5 mins

Loop execution flow in Go - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Loop execution flow
O(n)
Understanding Time Complexity

Loops are a common way to repeat actions in code. Understanding how many times a loop runs helps us see how the program's work grows.

We want to know: how does the time to finish change when the loop runs more times?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


for i := 0; i < n; i++ {
    fmt.Println(i)
}
    

This code prints numbers from 0 up to n-1, repeating the print action n times.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The print statement inside the loop.
  • How many times: Exactly n times, once for each loop cycle.
How Execution Grows With Input

As n grows, the number of print actions grows the same way.

Input Size (n)Approx. Operations
1010 prints
100100 prints
10001000 prints

Pattern observation: The work grows directly with n, so doubling n doubles the work.

Final Time Complexity

Time Complexity: O(n)

This means the time to finish grows in a straight line with the number of loop cycles.

Common Mistake

[X] Wrong: "The loop runs instantly no matter how big n is."

[OK] Correct: Each loop cycle takes time, so more cycles mean more total time.

Interview Connect

Knowing how loops affect time helps you explain your code clearly and shows you understand how programs grow with input size.

Self-Check

"What if we added a nested loop inside this loop? How would the time complexity change?"

Practice

(1/5)
1. What is the main purpose of a for loop in Go?
easy
A. To handle errors
B. To define a new variable
C. To repeat a block of code while a condition is true
D. To declare a function

Solution

  1. Step 1: Understand the role of loops

    Loops are used to repeat actions multiple times based on a condition.
  2. Step 2: Identify the purpose of for in Go

    In Go, the for loop is the only loop and repeats code while a condition holds true.
  3. Final Answer:

    To repeat a block of code while a condition is true -> Option C
  4. Quick Check:

    Loop = repeat code [OK]
Hint: Loops repeat code while condition true [OK]
Common Mistakes:
  • Confusing loops with variable declarations
  • Thinking loops handle errors
  • Mixing loops with function declarations
2. Which of the following is the correct syntax for a basic for loop in Go that runs 3 times?
easy
A. for i := 0; i < 3; i++
B. for (i = 0; i < 3; i++) { }
C. for i = 0; i < 3; i++ { }
D. for i := 0; i < 3; i++ { }

Solution

  1. Step 1: Check Go loop syntax

    Go requires initialization with :=, condition, and post statement inside parentheses without extra parentheses around the whole for.
  2. Step 2: Validate each option

    for i := 0; i < 3; i++ { } uses correct syntax: for i := 0; i < 3; i++ { }. Options B and C have wrong parentheses or missing :=. for i := 0; i < 3; i++ misses braces.
  3. Final Answer:

    for i := 0; i < 3; i++ { } -> Option D
  4. Quick Check:

    Correct Go for loop syntax = for i := 0; i < 3; i++ { } [OK]
Hint: Use := for init, semicolons, braces for loop [OK]
Common Mistakes:
  • Using parentheses like C/Java
  • Missing := for variable declaration
  • Omitting braces {}
3. What will be the output of this Go code?
for i := 1; i <= 3; i++ {
    if i == 2 {
        continue
    }
    fmt.Print(i)
}
medium
A. 13
B. 12
C. 123
D. 23

Solution

  1. Step 1: Understand the loop and continue

    The loop runs i from 1 to 3. When i equals 2, continue skips printing.
  2. Step 2: Trace output for each i

    i=1 prints '1', i=2 skips print, i=3 prints '3'. Output is '13'.
  3. Final Answer:

    13 -> Option A
  4. Quick Check:

    Continue skips i=2 print = 13 [OK]
Hint: Continue skips current iteration print [OK]
Common Mistakes:
  • Assuming continue prints the skipped value
  • Confusing continue with break
  • Ignoring loop condition
4. Identify the error in this Go loop code:
for i := 0; i < 5; i++
    fmt.Println(i)
medium
A. Missing braces {} around loop body
B. Incorrect loop condition
C. Variable i not declared
D. Using println instead of Println

Solution

  1. Step 1: Check Go loop syntax rules

    Go requires braces {} to define the loop body even if it is one statement.
  2. Step 2: Identify missing braces

    The code lacks braces around fmt.Println(i), causing a syntax error.
  3. Final Answer:

    Missing braces {} around loop body -> Option A
  4. Quick Check:

    Braces required for loop body [OK]
Hint: Always use braces {} for loop body [OK]
Common Mistakes:
  • Omitting braces for single statement
  • Misreading error as variable issue
  • Confusing println with Println
5. Given this Go code, what will be the output?
sum := 0
for i := 1; i <= 5; i++ {
    if i%2 == 0 {
        continue
    }
    if sum > 5 {
        break
    }
    sum += i
}
fmt.Println(sum)
hard
A. 6
B. 9
C. 10
D. 5

Solution

  1. Step 1: Trace loop with continue and break

    Loop i=1 to 5, skip even i (2,4). Add odd i to sum until sum > 5, then break.
  2. Step 2: Calculate sum step-by-step

    i=1 (odd): sum=0+1=1
    i=2 (even): continue, skip
    i=3 (odd): sum=1+3=4
    i=4 (even): continue, skip
    i=5 (odd): sum=4+5=9 but before adding, sum=4 which is not >5, so add 5 sum=9. Now sum >5, break after this iteration.
  3. Step 3: Check when break occurs

    Break happens after sum=9, but condition checks sum >5 before adding i=5, so sum was 4 before adding 5. Actually, break triggers only if sum >5 before adding i.
  4. Step 4: Correct calculation

    At i=5, sum=4 (not >5), so add 5 sum=9. Next iteration would be i=6 (loop ends). So break never triggers because sum >5 check is before adding i.
  5. Final Answer:

    9 -> Option B
  6. Quick Check:

    Sum after adding odd numbers until break = 9 [OK]
Hint: Check continue and break order carefully [OK]
Common Mistakes:
  • Adding after break condition incorrectly
  • Ignoring continue skipping even numbers
  • Misunderstanding break timing
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