zoukankan      html  css  js  c++  java
  • 2017去哪儿笔试题

    1、住酒店的问题

    我用JS实现的,当时做的时候没有编译通过,下来自己又修改的

      function countDay(arr) {
            var money=arr[arr.length-1];
            var count=0;
            var arrSort=arr.slice(0,arr.length-1).sort(function(a,b){return b-a;});//降序排列
            var max=arrSort[0];
            var min=arrSort[arrSort.length-1];
    
            if(min>money) {count=-1;}//如果最便宜的酒店都大于总钱数,则返回-1;
    
            if(money%max==0)
            {
                 count=parseInt(money/max);
            }//如果总钱数除以最贵的能除尽,则返回的最少天数,即住最贵的酒店的天数最少
    
            if (money % max != 0) {
                    count += parseInt(money / max);
                    money = parseInt(money % max);
                    arrSort.splice(0, 1);
                    max = arrSort[0];//每次删除降序排的数组的最大的
                    count += parseInt(money / max);
                }
            return count;
        }
    

      测试结果:

       alert(countDay([1001,1222,1002,1000]));//-1
        alert(countDay([387,2,611,1000]));//应该返回3 结果返回2 有待改进。。。。。。
        alert(countDay([1,2,1002,1000]));//500
        alert(countDay([1000,200,800,1000]));//1
        alert(countDay([10,200,800,1000]));//2
    

      

  • 相关阅读:
    使用XStream解析xml
    分享功能
    上拉加载 下拉刷新
    点击button倒计时
    正则表达式验证手机号码
    第三方登陆
    test
    横向滑动菜单HorizontalScrollView
    slidingmenu侧滑侧单
    2017/4/25 afternoon
  • 原文地址:https://www.cnblogs.com/olive987/p/5912731.html
Copyright © 2011-2022 走看看