📅  最后修改于: 2023-12-03 15:27:34.832000             🧑  作者: Mango
在字符串处理中,有时需要找到字符串中出现频率最高的字符。这里介绍一种方法,求给定字符串中第 K 个最常见的字符。
import heapq
def find_kth_most_frequent_char(string: str, k: int) -> str:
if not string or k <= 0:
return ""
count = {}
for char in string:
if char not in count:
count[char] = 1
else:
count[char] += 1
max_k = heapq.nlargest(k, count.values())[-1]
for key, value in count.items():
if value == max_k:
return key
string = "abcaabbccbdddcceeee"
k = 2
res = find_kth_most_frequent_char(string, k)
assert res == "b"
以上是求给定字符串中第 K 个最常见的字符的方法。这种方法适用于数据量较小的情况,如果数据量过大,可使用其他方法。