📜  给定数字N中的唯一数字计数(1)

📅  最后修改于: 2023-12-03 15:41:16.841000             🧑  作者: Mango

给定数字N中的唯一数字计数

在一些业务场景下,可能需要对一个数字中的唯一数字进行计数,比如一个电话号码中出现了几个不同的数字。本文将介绍如何实现这一功能。

解决方案

我们可以将给定数字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)$,表现非常出色。