三角形最大边长
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);
?? ?}
}
?
總結
- 上一篇: 安捷伦or是德信号源+频谱仪操作: 从程
- 下一篇: 如何通过Google学术快速获取参考文献