欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

三角形最大边长

发布时间:2023/12/14 55 豆豆
生活随笔 收集整理的这篇文章主要介绍了 三角形最大边长 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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);
    }

}
 

总结

以上是生活随笔为你收集整理的三角形最大边长的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。