給定乙個包含非負整數的陣列,你的任務是統計其中可以組成三角形三條邊的三元組個數。
示例 1:
輸入: [2,2,3,4]注意:輸出: 3
解釋:有效的組合是:
2,3,4 (使用第乙個 2)
2,3,4 (使用第二個 2)
2,2,3
陣列長度不超過1000。
陣列裡整數的範圍為 [0, 1000]。
方法一:
對陣列進行排序
固定兩條邊,求其和sum,在陣列剩餘的範圍內,二分搜尋第乙個大於等於sum的索引位置index,也就是左邊界,則index左側就是滿足小於sum的第三條邊
累加左邊界
class
solution
//結束搜尋後,left == right, left-(j+1)為小於sum的元素個數
res +
= left-
(j +1)
;}}return res;}}
;
方法二:
排序從後向前固定一條邊,雙指標搜尋符合條件的區間,
[left…right, 固定邊…],如果nums[left] + nums[right] 滿足條件,那麼left右側的值都滿足條件,累加right-left
class
solution
else}}
return res;}}
;
611 有效三角形的個數
題目描述 給定乙個包含非負整數的陣列,你的任務是統計其中可以組成三角形三條邊的三元組個數。示例 1 輸入 2,2,3,4 輸出 3 解釋 有效的組合是 2,3,4 使用第乙個 2 2,3,4 使用第二個 2 2,2,3 注意 陣列長度不超過1000。陣列裡整數的範圍為 0,1000 方法1 1 先對...
LeetCode 楊輝三角
給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行,在楊輝三角中,每個數是它左上方和右上方的數的和。思路分析 1 第一行是固定的,只有乙個1。2 第二行也是固定的,有兩個1。3 任意一行的開頭結尾都是1。4 第 i 行一共有 i 列。5 第 i 行的第 j 列,該數字是根據 i ...
leetcode 有效三角形的個數
給定乙個包含非負整數的陣列,你的任務是統計其中可以組成三角形三條邊的三元組個數。示例 1 輸入 2,2,3,4 輸出 3 解釋 有效的組合是 2,3,4 使用第乙個 2 2,3,4 使用第二個 2 2,2,3 注意 陣列長度不超過1000。陣列裡整數的範圍為 0,1000 1.此題類似於求三數之和為...