Bird
Raised Fist0
DSA Cprogramming~5 mins

First and Last Occurrence of Element in DSA C - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does 'First Occurrence of Element' mean in an array?
It means the position (index) where the element appears for the very first time when scanning the array from left to right.
Click to reveal answer
beginner
What does 'Last Occurrence of Element' mean in an array?
It means the position (index) where the element appears for the very last time when scanning the array from left to right.
Click to reveal answer
intermediate
Why is it useful to find the first and last occurrence of an element?
It helps to know the range where the element appears in the array, which is useful in counting frequency or searching efficiently.
Click to reveal answer
beginner
What is a simple way to find the first occurrence of an element in an array?
Scan the array from the start and return the index as soon as you find the element.
Click to reveal answer
beginner
How can you find the last occurrence of an element in an array?
Scan the array from the end towards the start and return the index when you find the element.
Click to reveal answer
What is the first occurrence of element 5 in the array [1, 3, 5, 7, 5]?
A2
B4
C1
D0
If an element does not exist in the array, what should the first occurrence function return?
AIndex 0
B0
CLength of array
D-1
Which approach finds the last occurrence of an element efficiently?
AScan from the start to the end
BScan from the end to the start
CUse binary search on unsorted array
DUse recursion without scanning
What is the time complexity of finding first and last occurrence by scanning the array?
AO(n)
BO(log n)
CO(1)
DO(n^2)
Can binary search be used to find first and last occurrence in a sorted array?
AYes, but only for first occurrence
BNo, binary search only finds any occurrence
CYes, with modifications
DNo, binary search is for unsorted arrays
Explain how to find the first and last occurrence of an element in an array using simple scanning.
Think about scanning direction and what to return if element is missing.
You got /3 concepts.
    Describe why knowing the first and last occurrence of an element is useful in programming.
    Consider how this information helps in counting or searching.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the term first occurrence of an element in an array mean?
      easy
      A. The last index where the element appears
      B. The total count of the element in the array
      C. The index of the first time the element appears in the array
      D. The sum of all elements before the element

      Solution

      1. Step 1: Understand the meaning of first occurrence

        The first occurrence means the earliest position where the element is found in the array, starting from index 0.
      2. Step 2: Compare options with definition

        The index of the first time the element appears in the array matches this definition exactly, while others describe different concepts.
      3. Final Answer:

        The index of the first time the element appears in the array -> Option C
      4. Quick Check:

        First occurrence = first index found [OK]
      Hint: First occurrence means earliest index found [OK]
      Common Mistakes:
      • Confusing first occurrence with count of element
      • Mixing first occurrence with last occurrence
      • Thinking it means sum or total
      2. Which of the following C code snippets correctly finds the first occurrence of x in array arr of size n?
      easy
      A. for(int i=0; i
      B. for(int i=n-1; i>=0; i--) { if(arr[i] == x) return i; } return -1;
      C. int i=0; while(arr[i] != x) i++; return i;
      D. for(int i=0; i

      Solution

      1. Step 1: Analyze each code snippet

        for(int i=0; i
      2. Step 2: Check other options for correctness

        for(int i=n-1; i>=0; i--) { if(arr[i] == x) return i; } return -1; searches from end, so it finds last occurrence. int i=0; while(arr[i] != x) i++; return i; may cause out-of-bound error if x not found. for(int i=0; i
      3. Final Answer:

        for(int i=0; i -> Option A
      4. Quick Check:

        Start to end loop with match check = for(int i=0; i
      Hint: Loop from start, return index on first match [OK]
      Common Mistakes:
      • Looping backward for first occurrence
      • Not handling element not found case
      • Returning wrong index when element differs
      3. What will be the output of the following C code?
      int arr[] = {2, 4, 6, 4, 8};
      int n = 5, x = 4;
      int first = -1, last = -1;
      for(int i=0; i
      medium
      A. 1 3
      B. 3 1
      C. 0 4
      D. -1 -1

      Solution

      1. Step 1: Trace the loop to find first and last occurrence

        Array: [2,4,6,4,8], x=4. Loop i=0 to 4:
        i=0: arr[0]=2 !=4, skip
        i=1: arr[1]=4 ==4, first=-1 so first=1, last=1
        i=2: arr[2]=6 !=4, skip
        i=3: arr[3]=4 ==4, first=1 (unchanged), last=3
        i=4: arr[4]=8 !=4, skip
      2. Step 2: Print first and last

        first=1, last=3
      3. Final Answer:

        1 3 -> Option A
      4. Quick Check:

        First=1, Last=3 indexes for 4 [OK]
      Hint: Track first when unset, update last on every match [OK]
      Common Mistakes:
      • Swapping first and last values
      • Not updating last occurrence
      • Ignoring first occurrence initialization
      4. Identify the error in the following code that tries to find the last occurrence of x in array arr of size n:
      int lastOccurrence(int arr[], int n, int x) {
        int last = -1;
        for(int i=0; i
      medium
      A. Loop should run from n-1 to 0 for last occurrence
      B. Using assignment (=) instead of comparison (==) in if condition
      C. Variable last should be initialized to 0
      D. Return statement should be inside the loop

      Solution

      1. Step 1: Check the if condition inside the loop

        The condition uses single '=' which is assignment, not comparison. This causes wrong behavior.
      2. Step 2: Correct the condition

        It should be 'if(arr[i] == x)' to compare values properly.
      3. Final Answer:

        Using assignment (=) instead of comparison (==) in if condition -> Option B
      4. Quick Check:

        Use '==' for comparison, not '=' [OK]
      Hint: Use '==' for comparison, '=' is assignment [OK]
      Common Mistakes:
      • Using '=' instead of '==' in conditions
      • Loop direction confusion for last occurrence
      • Wrong initialization of variables
      5. Given a sorted array arr of size n with possible duplicates, which approach is the most efficient to find the first and last occurrence of element x?
      hard
      A. Sort the array again and then find occurrences
      B. Traverse the array from start to end once to find both occurrences
      C. Use linear search twice: once from start, once from end
      D. Use two binary searches: one for first occurrence, one for last occurrence

      Solution

      1. Step 1: Understand the array is sorted

        Since the array is sorted, binary search can be used to find positions efficiently.
      2. Step 2: Use binary search twice

        One binary search finds the first occurrence by moving left on matches, another finds last occurrence by moving right on matches.
      3. Final Answer:

        Use two binary searches: one for first occurrence, one for last occurrence -> Option D
      4. Quick Check:

        Sorted array + binary search = fastest method [OK]
      Hint: Use binary search twice on sorted array [OK]
      Common Mistakes:
      • Using linear search on sorted array (slow)
      • Sorting array again unnecessarily
      • Not using binary search for efficiency
      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