爱奇艺2018校招前端开发编程题个人解法

爱奇艺2018校招前端开发三道编程题。


第一题是给三个长度不同的棍子,边长可以减,求能组成周长最大的三角形是多长。


第一题代码没有保留,凭记忆写了


解法如下:考虑三角形特性,任意两边之和大于第三边,


样例输入


1 2 3


样例输出


5


思路如下:找出最大边max,最小边min,中间边mid,只要min+mid>max,三角形就能成立,

主要的坑在,每次执行 max - - ;之后,最大边可能会变化,所以要重新对这三条边进行比较,

重新赋值max;min;mid;

最后输出结果,很简单。

这里贴上代码(通过率100%)

    var line;
    var arr=[];
    while(line=readline()){
        arr=line.split(" ");
        var sum=parseInt(arr[0])+parseInt(arr[1])+parseInt(arr[2]);
        var max=Math.max(arr[0],arr[1],arr[2]);
        var min=Math.min(arr[0],arr[1],arr[2]);
        var mid=sum-max-min;

        while(min+mid<=max){
            max--;
            sum=max+min+mid;
            max=Math.max(max,min,mid);
            min=Math.min(max,min,mid);
            mid=sum-max-min;

        }
    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值