摘要:前言的三角形的最大周長給定由一些正數代表長度組成的數組,返回由其中三個長度組成的面積不為零的三角形的最大周長。
前言
Weekly Contest 119的 三角形的最大周長:
解題思路給定由一些正數(代表長度)組成的數組 A,返回由其中三個長度組成的、面積不為零的三角形的最大周長。
如果不能形成任何面積不為零的三角形,返回 0。
示例1:
輸入:[2,1,2] 輸出:5示例2:
輸入:[1,2,1] 輸出:0示例3:
輸入:[3,2,3,4] 輸出:10示例4:
輸入:[3,6,2,3] 輸出:8提示:
3 <= A.length <= 10000
1 <= A[i] <= 10^6
本題可以拆成兩個問題去分析:
三條邊能否構成三角形
找出構成的三角形中周長最大的三角形
問題1可以利用三角形的特性:三角形的兩邊之和大于第三邊,即已知存在一個三角形,三條邊分別為a、b、c,則同時滿足a+b>c、a+c>b和b+c>a。
而問題只是一個簡單的判斷邏輯,并不復雜。這里可以結合問題1中三角形的特性來優化判斷邏輯,詳細內容請看實現代碼
/** * 976. 三角形的最大周長 * 判斷能否組成三角形的方法是兩邊之后要大于第三邊 * @param A * @return */ public int largestPerimeter(int[] A) { int result=0; //數組進行排序(從小到大) Arrays.sort(A); //倒序訪問數組,取出三個數字嘗試構建三角形 for(int i=A.length-1;i>=0;i--){ if(i-2>=0){//剩余可用的邊個數要不小于3個 int a=A[i]; int b=A[i-1]; int c=A[i-2]; //判斷三條邊能否組成三角形,判斷條件為兩之和大于第三邊 if(a+b>c && a+c>b && b+c>a){ result=a+b+c;//直接找到能夠構成最大周長三角形的3條邊,中斷循環 break; } }else{//剩余的邊個數不夠中斷循環 break; } } return result; }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/72980.html
摘要:思路對給定的數組進行降序排序,使最大的數字在前面。取最大的前三條,判斷任兩邊之和是否大于第三邊。是則返回周長即可。最終代碼若覺得本文章對你有用,歡迎用愛發電資助。 D62 976. Largest Perimeter Triangle 題目鏈接 976. Largest Perimeter Triangle 題目分析 給定數字數組,任取三條邊形成三角形,返回最大邊長。 思路 對給定的數...
前端LeetCode刷題 下面是已刷的題目的目錄。GitHub:https://github.com/cunzaizhuy...每日打卡更新中,歡迎關注。 數組類 26 刪除排序數組中的重復項 27 移除元素 35 搜索插入位置 66 加1 80 medium 刪除排序數組中的重復項2 88 合并兩個有序數組 167 兩數之和II - 輸入有序數組 118 楊輝三角 169 easy 求眾數 1...
摘要:抽象類作為多個子類的通用模板,子類在抽象類的基礎上進行擴展改造,但子類總體上會大致保留抽象類的行為方式。稍微專業一點的定義就是模板方法模式,在一個方法中定義一個算法的骨架,而將一些步驟延遲到子類中。 抽象方法和抽象類 抽象類:用abstract修飾符修飾的類,如: public abstract class GeneralService { } 抽象方法:用abstract修...
摘要:角度與弧度我們現實生活中使用的大都是角度,比如度度,但在計算機中的語言中,使用的都是弧度。我們在程序中,每次加的都是角度,所以需要轉化成弧度才能讓中三角函數中使用,代碼如下源碼及實現,請移步 我們看下我們通過三角函數要做出來的效果 showImg(https://segmentfault.com/img/bVS7yx?w=884&h=804); sin、cos、tan概念 為了直觀,我...
摘要:問題描述一個三角形的三邊長分別是,那么它的面積為,其中。輸入這三個數字,計算三角形的面積,四舍五入精確到位小數。保證能夠構成三角形,。 【問題描述】 一個三角形的三...
閱讀 3400·2021-11-24 10:30
閱讀 3269·2021-11-22 15:29
閱讀 3706·2021-10-28 09:32
閱讀 1254·2021-09-07 10:22
閱讀 3336·2019-08-30 15:55
閱讀 3619·2019-08-30 15:54
閱讀 3493·2019-08-30 15:54
閱讀 2833·2019-08-30 15:44