package algorithm;
import java.util.Arrays;
//https://blog.csdn.net/hunt_er/article/details/78276565
/*
有n根棍子,棍子i的长度为ai。想要从中选出三根棍子组成周长尽可能长的三角形。请输出最大的周长,若无法组成三角形则输出0。
*/
public class Triangle {
public static int solution(int n,int[] ints){
if(ints==null){
return 0;
}
if(n<3){
return 0;
}
int result=0;
Arrays.sort(ints);
for(int i=0;i<n;i++){
System.out.print(ints[i]+" ");
}
for(int i=2;i<n;i++){
int h1=ints[i-2];
int h2=ints[i-1];
int h3=ints[i];
if(h1+h2>h3){//是三角形
int sum=h1+h2+h3;
if(sum>result)
result=sum;
}
}
return result;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int n = 4;
//int[] ints = {4,10,20,5};
n = 6;
int[] ints= {2,3,4,5,10,1};
int result=solution(n,ints);
System.out.println("结果为:"+result);
}
}