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.