Python 中的一个数字及其三倍数


假设我们有一个名为 nums 的数字列表,我们需要检查是否有两个数字,一个数字是另一个数字的三倍。

因此,如果输入如下 nums = [2, 3, 10, 7, 9],则输出将为 True,因为 9 是 3 的三倍

为解决这个问题,我们将按照以下步骤进行 −

  • i := 0

  • 对列表 n 进行排序

  • j := 1

  • while j < n 的长度,执行

    • 如果 3*n[i] 等于 n[j],则

      • 返回 True

    • 如果 3*n[i] > n[j],则

      • j := j + 1

    • 否则,

      • i := i + 1

  • 返回 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

更新于: 02-Sep-2020

577 次浏览

开启你的 职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.