Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 가장 큰 둘레 삼각형

<시간/>

길이가 양수인 배열 A가 있다고 가정하고 이 길이 중 3개로 구성된 면적이 0이 아닌 삼각형의 가장 큰 둘레를 찾아야 합니다. 0이 아닌 면적의 삼각형을 만드는 것이 불가능하면 0을 반환합니다.

따라서 입력이 [3,6,2,3]과 같으면 출력은 8이 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 목록 A 정렬
  • a :=A에서 마지막 요소 삭제
  • b :=A에서 마지막 요소 삭제
  • c :=A에서 마지막 요소 삭제
  • b+c <=동안, do
    • A가 0이 아니면
      • 0을 반환
    • a :=b
    • b :=c
    • c :=A에서 마지막 요소 삭제
  • a+b+c를 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시

class 솔루션:def maximumPerimeter(self, A):A.sort() a, b, c =A.pop(), A.pop(), A.pop() while b+c<=a:A가 아닌 경우:0 반환 a, b, c =b, c, A.pop() return a+b+cob =Solution()print(ob.largestPerimeter([3,6,2,3])) 

입력

[3,6,2,3]

출력

8