📌  相关文章
📜  Python程序打印两个给定数字中存在的所有不同的不常见数字

📅  最后修改于: 2021-10-27 08:10:12             🧑  作者: Mango

给定两个正整数AB ,任务是按降序打印不同的数字,这两个数字不常见。

例子:

方法:可以使用Python的集合和列表来解决这个问题。请按照以下步骤解决问题:

  • 将两个整数都转换为字符串。
  • 现在,使用 map()函数将字符串AB的字符的等效整数值存储在列表lis1lis2 中
  • 使用 set() 方法将列表lis1lis2转换为设置lis1lis2
  • 现在,使用函数symmetric_difference() 找到集合lis1lis2的不常见数字并将其存储在集合中,例如lis
  • 完成上述步骤后,使用 list() 方法将集合lis转换为列表lis
  • 最后,按降序对列表进行排序并打印列表lis作为答案。

下面是上述方法的实现:

Python3
# Python implementation
# of the above approach
  
# Function to print uncommon digits
# of two numbers in descending order
def disticntUncommonDigits(A, B):
  
    # Stores digits of A as string
    A = str(A)
  
    # Stores digits of B as string
    B = str(B)
  
    # Stores the characters
    # of A in a integer list
    lis1 = list(map(int, A))
      
    # Stores the characters
    # of B in a integer list
    lis2 = list(map(int, B))
  
    # Converts lis1 to set
    lis1 = set(lis1)
  
    # Converts lis2 to set
    lis2 = set(lis2)
  
    # Stores the uncommon digits present
    # in the sets lis1 and lis2
    lis = lis1.symmetric_difference(lis2)
  
    # Converts lis to list
    lis = list(lis)
  
    # Sort the list in descending order
    lis.sort(reverse = True)
  
    # Print the list lis
    for i in lis:
        print(i, end =" ")
  
# Driver Code
  
  
# Input
A = 378212
B = 78124590
  
disticntUncommonDigits(A, B)


输出:
9 5 4 3 0

时间复杂度: O(log 10 (A) + log 10 (B))
辅助空间: O(log 10 (A) + log 10 (B))

如果您希望与专家一起参加现场课程,请参阅DSA 现场工作专业课程学生竞争性编程现场课程