Computer >> Máy Tính >  >> Lập trình >> Python

Con số lớn nhất bằng hai lần trong Python

Giả sử chúng ta có một danh sách các số; chúng ta phải kiểm tra xem số lớn nhất có lớn hơn số lớn thứ hai hơn hai lần hay không. Ví dụ:nếu danh sách giống như [3, 9, 6], thì nó sẽ trả về false, vì 9 không lớn hơn 12 (2 lần 6). Khi danh sách là [6, 3, 15], nó sẽ trả về true, vì 15 lớn hơn 12 (2 lần 6).

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • nếu kích thước của nums <2, thì
    • trả về Sai
  • p_max:=tối thiểu là nums [0] và nums [1]
  • c_max:=tối đa là nums [0] và nums [1]
  • đối với tôi trong phạm vi 2 đến kích thước của nums, hãy thực hiện
    • nếu nums [i]> p_max, thì
      • nếu nums [i]> c_max, thì
        • p_max:=c_max
        • c_max:=nums [i]
      • nếu không,
        • p_max:=nums [i]
  • trả về c_max> p_max * 2

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

class Solution:
   def solve(self, nums):
      if len(nums) < 2:
         return False
         p_max = min(nums[0], nums[1])
         c_max = max(nums[0], nums[1])
         for i in range(2, len(nums)):
            if nums[i] > p_max:
               if nums[i] > c_max:
                  p_max = c_max
                  c_max = nums[i]
               else:
                  p_max = nums[i]
         return c_max > p_max * 2
ob = Solution()
nums = [3,6,15]
print(ob.solve(nums))

Đầu vào

[3,6,15]

Đầu ra

None