Find All Duplicates in an Array - Array - Medium - LeetCode
💻 coding

Find All Duplicates in an Array - Array - Medium - LeetCode

1 min read 84 words
1 min read
ShareWhatsAppPost on X
  • 1The problem involves finding all elements that appear twice in an array of integers within a specific range.
  • 2The solution requires achieving O(n) runtime complexity while using O(1) additional space.
  • 3The provided code uses index manipulation to mark visited elements, effectively identifying duplicates.

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"The problem involves finding all elements that appear twice in an array of integers within a specific range."

Find All Duplicates in an Array - Array - Medium - LeetCode

Given an array of integers, 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once.

Find all the elements that appear twice in this array.

Could you do it without extra space and in O(n) runtime?

Example: Input: [4,3,2,7,8,2,3,1]

Output: [2,3]

public class Solution {
 public IList<int> FindDuplicates(int[] nums) {
 
 var result = new List<int>();
 for(int i=0;i<nums.Length;i++){
 var index = Math.Abs(nums[i])-1;
 if(nums[index]<0){
 result.Add(Math.Abs(index+1));
 }
 nums[index]=nums[index]*-1; 
 }
 
 return result;
 }
}

Time Complexity: O(n)

Space Complexity: O(1)

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

sumitc91

Published on 19 November 2020 · 1 min read · 84 words

Part of AskGif Blog · coding

You might also like