' P '

whatever I will forget

NumberOfDiscIntersections

考え方

これもほぼほぼ数学的なセンスが必要です

Sort済みの場合、0 ≤ P < Q < R < Nに必ずなっている
P+Q>Rだけを調べればいい訳は、ソート済みの場合はP<Q<Rに必ずなっている前提のため(1,2,5,8,10,20)
1,2,5をP,Q,Rとすると、
P(1)+R(5)>Q(2), Q(2)+R(5)>P(1)は必ず満たされる。
この場合、P(1)+Q(2)>R(5)のみ満たされないため、それだけ調べて満たされるものがあれば1を返せばよい
例だとP(5)+Q(8)>R(10)が条件を満たす。

コード

import java.util.Arrays;

public class Solution {
    public static void main(String[] args) {
        System.out.println(solution(new int[] {10,2,5,1,8,20}));
    }
    public static int solution(int[] A) {
        Arrays.sort(A);
        for(int i=2; i<A.length; i++) {
            if((long)A[i] < (long)A[i-2] + (long)A[i-1]) {
                return 1;
            }
        }
        return 0;
    }
}