假设我们有一个称为nums的数字列表,我们必须检查是否有两个数字,使得一个数字是另一个数字的三倍。
因此,如果输入像nums = [2,3,10,7,9],那么输出将为True,因为9是3的三倍
为了解决这个问题,我们将遵循以下步骤-
i:= 0
对列表进行排序
j:= 1
当j <n的大小时
我:=我+ 1
j:= j + 1
返回True
如果3 * n [i]与n [j]相同,则
如果3 * n [i]> n [j],则
除此以外,
返回False
让我们看下面的实现以更好地理解-
class Solution: def solve(self, n): i = 0 n.sort() j = 1 while (j < len(n)): if (3*n[i] == n[j]): return True if (3*n[i] > n[j]): j += 1 else: i += 1 return False ob = Solution()print(ob.solve([2, 3, 10, 7, 9]))
[2, 3, 10, 7, 9]
输出结果
True