📅  最后修改于: 2023-12-03 15:41:16.841000             🧑  作者: Mango
在一些业务场景下,可能需要对一个数字中的唯一数字进行计数,比如一个电话号码中出现了几个不同的数字。本文将介绍如何实现这一功能。
我们可以将给定数字N转换成字符串类型,然后遍历字符串中的每一个字符,使用集合(set)来记录其中的唯一数字。
def unique_digit_count(n: int) -> int:
digits = set(str(n))
return len(digits)
使用示例:
print(unique_digit_count(123456)) # 6
print(unique_digit_count(112233)) # 2
这个算法的时间复杂度为 $O(k)$,其中 $k$ 为字符串中唯一字符的个数。最坏情况下,$k=10$,即数字N在十进制下的每一位都是不同的。因此,此算法的时间复杂度为 $O(1)$ 到 $O(10)$。
在本文中,我们介绍了如何使用Python来计算数字N中唯一数字的个数。此算法的时间复杂度为 $O(k)$,表现非常出色。