Re: [閒聊] 每日LeetCode
976. Largest Perimeter Triangle
給予一個陣列nums表示多個邊的長度,找出這些邊可以組成的最大三角形邊長,如果
不存在合法三角形則返回0。
Example 1:
Input: nums = [2,1,2]
Output: 5
思路:
1.對邊的長度做貪婪演算法。
2.先排序邊的大小。
3.從最大的邊開始往前拿,只要符合三角形的構成條件(小邊相加大於最大邊)就
返回三個邊的邊長。
4.如果沒有符合條件的三角形返回0。
JavaCode:
class Solution {
public int largestPerimeter(int[] nums) {
Arrays.sort(nums);
for(int i = nums.length - 1; i >= 2; i--){
if(nums[i] < nums[i - 1] + nums[i - 2])
return nums[i] + nums[i - 1] + nums[i - 2];
}
return 0;
}
}
拒絕寫hard運動
--
https://i.imgur.com/He2OJUh.jpg
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.89.219 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1665540419.A.2E3.html
推
10/12 10:07,
1年前
, 1F
10/12 10:07, 1F
→
10/12 10:09,
1年前
, 2F
10/12 10:09, 2F
推
10/12 10:14,
1年前
, 3F
10/12 10:14, 3F
討論串 (同標題文章)
完整討論串 (本文為第 43 之 719 篇):
閒聊
1
3