贪心算法:数组先排序,排序之后以最后三个数为基准,看是否满足a+b>c,不满足则把最大值由c改成b,再从a前边找个d,看a+d是否大于c。
代码:
import java.util.Arrays;
public class Triangles {
public static void main(String[] args) {
System.out.println(largestPerimeter(new int[]{3,6,2,3}));
}
public static int largestPerimeter(int[] a){
Arrays.sort(a);
for (int i=a.length-1;i>=2;i--){
if(a[i-1]+a[i-2]>a[i]){
return a[i-1]+a[i-2]+a[i];
}
}
}
}