Bird
Raised Fist0
DSA Javaprogramming~5 mins

First and Last Occurrence of Element in DSA Java - 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 we look from the start of the array.
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 we look from the end of the array.
Click to reveal answer
intermediate
Why is it useful to find the first and last occurrence of an element?
Because it helps us know the range where the element appears, which is useful in searching, counting, or slicing parts of the array.
Click to reveal answer
intermediate
How can binary search help in finding the first and last occurrence of an element in a sorted array?
Binary search can quickly find the element, and by adjusting the search to move left or right, it can find the first or last position where the element appears.
Click to reveal answer
intermediate
What is the time complexity of finding first and last occurrence using binary search?
The time complexity is O(log n) because binary search divides the search space in half each time.
Click to reveal answer
What does the 'first occurrence' of an element in an array represent?
AThe middle position of the element
BThe first position where the element appears
CThe total count of the element
DThe last position where the element appears
Which search method is efficient for finding first and last occurrences in a sorted array?
ABreadth-first search
BLinear search
CDepth-first search
DBinary search
If an element is not present in the array, what should be the output for first and last occurrence?
AReturn -1 for both
BReturn 0 for both
CReturn the array length
DReturn the first index
What is the time complexity of linear search for first occurrence in an unsorted array?
AO(n)
BO(log n)
CO(1)
DO(n log n)
In binary search for first occurrence, if the middle element equals the target, what should you do next?
AMove right to find last occurrence
BStop and return middle index
CMove left to find first occurrence
DIgnore and search randomly
Explain how to find the first and last occurrence of an element in a sorted array using binary search.
Think about adjusting the search boundaries after finding the element.
You got /4 concepts.
    Describe why finding first and last occurrence is useful in real-life scenarios.
    Consider situations where you want to know how many times or where an item appears.
    You got /4 concepts.

      Practice

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

      Solution

      1. Step 1: Understand the meaning of first occurrence

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

        Counting or last index are different concepts; sum is unrelated.
      3. Final Answer:

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

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

      Solution

      1. Step 1: Check loop direction and condition

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

        for(int i=arr.length-1; i>=0; i--) { if(arr[i] == target) return i; } return -1; loops backward, so finds last occurrence. int index = arr.indexOf(target); return index; uses invalid method for arrays. while(arr.contains(target)) { return arr.indexOf(target); } has incorrect syntax and logic.
      3. Final Answer:

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

        Loop start to end returns first match [OK]
      Hint: Loop from start to find first occurrence [OK]
      Common Mistakes:
      • Looping backward to find first occurrence
      • Using methods not available for arrays
      • Incorrect loop conditions
      3. What is the output of the following Java code?
      int[] arr = {5, 3, 7, 3, 9};
      int target = 3;
      int first = -1, last = -1;
      for(int i=0; i
      medium
      A. First: 0, Last: 4
      B. First: 1, Last: 3
      C. First: 3, Last: 1
      D. First: -1, Last: -1

      Solution

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

        At i=1, arr[1]=3 matches target, first=-1 so first=1, last=1. At i=3, arr[3]=3 matches, last=3 updated.
      2. Step 2: Confirm final values

        First occurrence is index 1, last occurrence is index 3.
      3. Final Answer:

        First: 1, Last: 3 -> Option B
      4. Quick Check:

        First=1, Last=3 from loop [OK]
      Hint: Update last on every match, first only once [OK]
      Common Mistakes:
      • Swapping first and last values
      • Not updating last occurrence correctly
      • Initializing first incorrectly
      4. Identify the error in this code snippet that tries to find the last occurrence of target in arr:
      int last = -1;
      for(int i=0; i
      medium
      A. Missing return type in method
      B. Variable last is not initialized
      C. Loop should run backwards from end to start
      D. Break statement stops loop too early, finds first not last occurrence

      Solution

      1. Step 1: Analyze loop and break usage

        The break inside if stops loop at first match, so last is actually first occurrence, not last.
      2. Step 2: Understand correct approach

        To find last occurrence, loop should continue through entire array without break, updating last each time.
      3. Final Answer:

        Break statement stops loop too early, finds first not last occurrence -> Option D
      4. Quick Check:

        Break stops loop early, wrong for last occurrence [OK]
      Hint: Don't break loop when searching last occurrence [OK]
      Common Mistakes:
      • Using break inside loop for last occurrence
      • Looping forward but breaking early
      • Confusing first and last occurrence logic
      5. Given a sorted array arr with possible duplicates, which approach efficiently finds the first and last occurrence of target in O(log n) time?
      hard
      A. Use a HashMap to store indices of all elements
      B. Traverse array from start to end and record first and last indices
      C. Use binary search twice: once for first occurrence, once for last occurrence
      D. Sort the array again and then find occurrences

      Solution

      1. Step 1: Understand array is sorted

        Sorted array allows binary search to find elements quickly in O(log n) time.
      2. Step 2: Apply binary search twice

        One binary search finds first occurrence by moving left on matches; another finds last occurrence by moving right.
      3. Step 3: Compare with other options

        Linear traversal is O(n), HashMap adds overhead, sorting again is unnecessary.
      4. Final Answer:

        Use binary search twice: once for first occurrence, once for last occurrence -> Option C
      5. Quick Check:

        Binary search twice = O(log n) efficient [OK]
      Hint: Binary search twice for first and last in sorted array [OK]
      Common Mistakes:
      • Using linear search on sorted array
      • Trying to sort array again unnecessarily
      • Using extra data structures without need
      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