三角形のJava実装LeetCode 611有効数(ダブルポインタ)

611有効な三角形の数

タスクは、トリプレットの数は、三角形の三辺で構成されてもよいカウントする非負の整数を含む配列を与え。

例1:

入力:[2,2,3,4]
出力:3
説明:
有効な組み合わせである:
2,3,4-(最初の2を使用して)
2,3,4(第2を使用)
2,2,3-
注意:

配列の長さは1000です。
範囲内の整数の配列[0、1000]。

class Solution {
     public int triangleNumber(int[] nums) {
        Arrays.sort(nums);
        int res = 0;
        for (int i = nums.length - 1; i >= 2; i--) {
            int left = 0;
            int right = i - 1;
            while (left < right) {
                if (nums[left] + nums[right] > nums[i]) {
                    res += (right - left);
                    right--;
                } else {
                    left++;
                }
            }
        }
        return res;
    }
}
リリース1675元の記事 ウォンの賞賛20000 + ビュー318万+

おすすめ

転載: blog.csdn.net/a1439775520/article/details/105200716