题目描述
给一个数组至少三个数,任意选出数组中三个数,求满足三角形的三个数的最大和
例如:
1 2 3 不满足三角形,返回0
1 2 3 4 满足三角形最大和为2+3+4=9,返回9
package test_26;
import java.lang.reflect.Array;
import java.util.Arrays;
class S1 {
public int largestPerimeter(int[] A) {
Arrays.sort(A);
//例如加入输入4 2 3 1 先排序 1 2 3 4
for(int i=Array.getLength(A)-1-2;i>0;i--) {
//如果两边之和大于第三边就返回正确
if(A[i+2]<A[i+1]+A[i])
{
return A[i+2]+A[i+1]+A[i];
}
}
return 0;
}
public static void main(String[] args) {
int[] array= {1,3,5,2,8,6,2,1,80,30,71,1000};
S1 l=new S1();
int result=l.largestPerimeter(array);
System.out.println(result);//返回0证明无法构成三角形,返回一个值就是最大和
}
}