Formatted question description: https://leetcode.ca/all/2053.html

# 2053. Kth Distinct String in an Array (Easy)

A **distinct string** is a string that is present only **once** in an array.

Given an array of strings `arr`

, and an integer `k`

, return *the *`k`

^{th}* distinct string present in *

`arr`

. If there are **fewer**than

`k`

distinct strings, return *an*

**empty string**`""`

.Note that the strings are considered in the **order in which they appear** in the array.

**Example 1:**

Input:arr = ["d","b","c","b","c","a"], k = 2Output:"a"Explanation:The only distinct strings in arr are "d" and "a". "d" appears 1^{st}, so it is the 1^{st}distinct string. "a" appears 2^{nd}, so it is the 2^{nd}distinct string. Since k == 2, "a" is returned.

**Example 2:**

Input:arr = ["aaa","aa","a"], k = 1Output:"aaa"Explanation:All strings in arr are distinct, so the 1^{st}string "aaa" is returned.

**Example 3:**

Input:arr = ["a","b","a"], k = 3Output:""Explanation:The only distinct string is "b". Since there are fewer than 3 distinct strings, we return an empty string "".

**Constraints:**

`1 <= k <= arr.length <= 1000`

`1 <= arr[i].length <= 5`

`arr[i]`

consists of lowercase English letters.

**Companies**:

Amazon

**Related Topics**:

Array, Hash Table, String, Counting

## Solution 1.

```
// OJ: https://leetcode.com/problems/kth-distinct-string-in-an-array/
// Time: O(N)
// Space: O(N)
class Solution {
public:
string kthDistinct(vector<string>& A, int k) {
unordered_map<string, int> cnt;
for (auto &s : A) cnt[s]++;
for (auto &s : A) {
if (cnt[s] == 1 && --k == 0) return s;
}
return "";
}
};
```