📅  最后修改于: 2023-12-03 15:28:23.934000             🧑  作者: Mango
给定两个数字A和B,现在任务是判断它们是否可以通过只改变1或2位数字来使得它们相等或者不相等。如果可以则返回"YES",否则返回"NO"。
匹配A和B的每一位数字,判断它们的不同数量。如果不同数量不超过2,则可以通过修改不同的数字来使得它们相等或者不相等。
该算法的时间复杂度为O(n),其中n为数字A和B的位数。空间复杂度为O(1)。
def check_numbers(A, B):
count = 0
for i in range(len(str(A))):
if str(A)[i] != str(B)[i]:
count += 1
if count <= 2:
return "YES"
else:
return "NO"
A = 123
B = 223
YES
只需修改A的第一个数字即可使A和B相等,修改后A和B都为223。
A = 123
B = 345
NO
无法通过修改A中的1或2个数字使得A和B相等或不相等。