Advertisement
3396. Minimum Number of Operations to Make Elements in Array Distinct
MediumView on LeetCode
Time: O(n)
Space: O(n)
Approach
Scan from right in groups of 3; stop when first duplicate encountered; ops = ceil remaining.
3396.cs
C#
// Approach: Scan from right in groups of 3; stop when first duplicate encountered; ops = ceil remaining.
// Time: O(n) Space: O(n)
public class Solution
{
public int MinimumOperations(int[] nums)
{
var set = new HashSet<int>();
for (int i = nums.Length - 1; i >= 0; i--)
{
if (!set.Add(nums[i]))
return (i + 1 + 2) / 3;
}
return 0;
}
}Advertisement
Was this solution helpful?