Bird
Raised Fist0
DSA Goprogramming~10 mins

Peek Front Element of Queue in DSA Go - Interactive Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to peek the front element of the queue.

DSA Go
func Peek(queue []int) int {
    if len(queue) == 0 {
        return -1
    }
    return queue[[1]]
}
Drag options to blanks, or click blank then click option'
A:1
B0
Clen(queue)-1
D-1
Attempts:
3 left
💡 Hint
Common Mistakes
Using the last element instead of the first.
Using slicing instead of indexing.
2fill in blank
medium

Complete the code to check if the queue is empty before peeking.

DSA Go
func Peek(queue []int) (int, bool) {
    if len(queue) [1] 0 {
        return 0, false
    }
    return queue[0], true
}
Drag options to blanks, or click blank then click option'
A<=
B>
C==
D!=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '>' or '<=' which do not correctly check for empty queue.
Using '!=' which checks for non-empty queue.
3fill in blank
hard

Fix the error in the code to correctly peek the front element.

DSA Go
func Peek(queue []int) int {
    if len(queue) == 0 {
        return -1
    }
    return queue[[1]]
}
Drag options to blanks, or click blank then click option'
A0
B1
C:1
D-1
Attempts:
3 left
💡 Hint
Common Mistakes
Using index 1 which is the second element.
Using slicing which returns a slice, not an element.
4fill in blank
hard

Fill both blanks to create a function that peeks the front element safely.

DSA Go
func Peek(queue []int) (int, bool) {
    if len(queue) [1] 0 {
        return 0, false
    }
    return queue[2], true
}
Drag options to blanks, or click blank then click option'
A==
B>
C[0]
D!=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '>' instead of '==' to check empty queue.
Accessing wrong index for front element.
5fill in blank
hard

Fill all three blanks to implement a safe peek function returning front element and success flag.

DSA Go
func Peek(queue []int) (int, bool) {
    if len(queue) [1] 0 {
        return 0, false
    }
    front := queue[2]
    return front, [3]
}
Drag options to blanks, or click blank then click option'
A==
B[0]
Ctrue
Dfalse
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong comparison operator.
Accessing wrong index.
Returning false instead of true on success.

Practice

(1/5)
1. What does the Peek operation do in a queue?
easy
A. Returns the front element without removing it
B. Removes the front element from the queue
C. Adds an element to the back of the queue
D. Checks if the queue is empty

Solution

  1. Step 1: Understand the queue operations

    A queue supports adding elements at the back and removing from the front.
  2. Step 2: Define Peek operation

    Peek returns the front element without removing it, unlike dequeue which removes it.
  3. Final Answer:

    Returns the front element without removing it -> Option A
  4. Quick Check:

    Peek = front element without removal [OK]
Hint: Peek shows front without removal, unlike dequeue [OK]
Common Mistakes:
  • Confusing peek with dequeue
  • Thinking peek adds elements
  • Assuming peek checks emptiness
2. Which of the following is the correct Go syntax to peek the front element of a queue implemented as a slice named queue?
easy
A. front := queue[len(queue)-1]
B. front := queue[len(queue)]
C. front := queue[0]
D. front := queue.pop()

Solution

  1. Step 1: Understand Go slice indexing

    Go slices are zero-indexed, so the first element is at index 0.
  2. Step 2: Identify front element access

    The front element of a queue is the first element, so queue[0] gives it.
  3. Final Answer:

    front := queue[0] -> Option C
  4. Quick Check:

    First element index = 0 [OK]
Hint: Front element is always at index 0 in slice queue [OK]
Common Mistakes:
  • Using len(queue) which is out of range
  • Using last element instead of first
  • Using pop() which is not a Go slice method
3. What will be the output of the following Go code snippet?
queue := []int{10, 20, 30}
front := queue[0]
fmt.Println(front)
medium
A. runtime error
B. 10
C. 30
D. 20

Solution

  1. Step 1: Initialize queue slice

    The queue slice contains elements [10, 20, 30].
  2. Step 2: Access front element

    front := queue[0] assigns 10 to front.
  3. Step 3: Print front

    fmt.Println(front) prints 10.
  4. Final Answer:

    10 -> Option B
  5. Quick Check:

    queue[0] = 10 [OK]
Hint: queue[0] gives first element value [OK]
Common Mistakes:
  • Printing queue[1] instead of queue[0]
  • Expecting last element output
  • Thinking it causes runtime error
4. Identify the error in this Go code that tries to peek the front element of a queue:
var queue []int
front := queue[0]
fmt.Println(front)
medium
A. No error, prints 0
B. Prints nil
C. Compile-time syntax error
D. Runtime panic: index out of range

Solution

  1. Step 1: Check queue initialization

    queue is declared but not initialized, so length is 0.
  2. Step 2: Accessing queue[0]

    Accessing queue[0] causes runtime panic because slice is empty.
  3. Final Answer:

    Runtime panic: index out of range -> Option D
  4. Quick Check:

    Empty slice access causes panic [OK]
Hint: Empty slice access causes runtime panic [OK]
Common Mistakes:
  • Assuming default zero value is returned
  • Expecting compile-time error
  • Thinking it prints nil
5. Given a queue implemented as a slice queue := []int{5, 10, 15}, write the correct Go code snippet to safely peek the front element and handle the empty queue case by printing "Empty" if no elements exist.
hard
A. if len(queue) > 0 { fmt.Println(queue[0]) } else { fmt.Println("Empty") }
B. fmt.Println(queue[0])
C. if queue != nil { fmt.Println(queue[0]) } else { fmt.Println("Empty") }
D. if len(queue) == 0 { fmt.Println(queue[0]) } else { fmt.Println("Empty") }

Solution

  1. Step 1: Check queue length before access

    Use len(queue) > 0 to ensure queue has elements.
  2. Step 2: Print front or "Empty"

    If queue has elements, print queue[0]; else print "Empty".
  3. Final Answer:

    if len(queue) > 0 { fmt.Println(queue[0]) } else { fmt.Println("Empty") } -> Option A
  4. Quick Check:

    Check length before access to avoid panic [OK]
Hint: Always check length before peeking front [OK]
Common Mistakes:
  • Not checking length before access
  • Checking nil instead of length
  • Reversing if-else logic
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