Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tam giác chu vi lớn nhất trong Python


Giả sử ta có mảng A các độ dài dương, ta tìm chu vi lớn nhất của tam giác diện tích không bằng 0, hình thành từ 3 độ dài này. Khi không thể tạo tam giác diện tích không bằng 0, trả về 0.

Ví dụ, nếu đầu vào [3,6,2,3], đầu ra là 8.

Giải quyết theo các bước:

  • Sắp xếp list A
  • a := xóa phần tử cuối A
  • b := xóa phần tử cuối A
  • c := xóa phần tử cuối A
  • while b+c <= a, do
    • if A rỗng, trả về 0
    • a := b
    • b := c
    • c := xóa phần tử cuối A
  • return a+b+c

Xem triển khai:

Ví dụ

class Solution:
    def largestPerimeter(self, A):
        A.sort()
        a, b, c = A.pop(), A.pop(), A.pop()
        while b + c <= a:
            if not A:
                return 0
            a, b, c = b, c, A.pop()
        return a + b + c
ob = Solution()
print(ob.largestPerimeter([3,6,2,3]))

Đầu vào

[3,6,2,3]

Đầu ra

8