LeetCode/cs/kth-distinct-string-in-an-array.cs

22 lines
501 B
C#
Raw Normal View History

public class Solution {
public string KthDistinct(string[] arr, int k) {
var uniqueWords = arr.ToHashSet();
var freqs = uniqueWords.ToDictionary(key => key, key => arr.Count(w => w == key));
var (i, found) = (0, 0);
for (; i < arr.Length && found < k; ++i) {
if (freqs[arr[i]] != 1) {
continue;
}
++found;
}
if (found < k) {
return "";
}
return arr[i - 1];
}
}