Python中的数字及其三重

假设我们有一个称为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