📅  最后修改于: 2023-12-03 15:35:57.433000             🧑  作者: Mango
本题目要求从一个整数数组中找到所有的包含0-9数字对的数字对,并将它们串联起来。
在这个问题中,我们将使用两个指针i和j。首先,我们从位置0和1开始,并按照顺序遍历数组中的所有对。对每个对,我们将检查它们是否包含所有数字0-9,如果满足要求,则将它们串联在一起。
下面是使用Python实现的代码片段:
class Solution:
def find_pairs(self, nums: List[int]) -> List[int]:
res = []
for i in range(len(nums)-1):
for j in range(i+1, len(nums)):
if self.contains_all_digits(nums[i], nums[j]):
res.append(int(str(nums[i])+str(nums[j])))
res.append(int(str(nums[j])+str(nums[i])))
return res
def contains_all_digits(self, num1, num2):
digits = set([0,1,2,3,4,5,6,7,8,9])
while num1 > 0:
digits.discard(num1 % 10)
num1 //= 10
while num2 > 0:
digits.discard(num2 % 10)
num2 //= 10
return not digits
该代码的时间复杂度为O(n^2),其中n为输入数组的长度。