笔试

作者: Kuangchao | 来源:发表于2017-12-05 19:39 被阅读0次

    逻辑

    ISSUE1:

    29只青蛙29分钟吃29只蚊子, 87分钟吃87只蚊子需要多少青蛙?
    // 一只青蛙29分钟吃一只蚊子,那么一直青蛙87分钟可以吃3只蚊子
    // 总共要只87只蚊子87 / 3 >>> 29

    ISSUE2:

    一个人花8块钱买了一只鸡, 9块钱卖掉了, 然后他觉得不划算,话10块钱又买了回来, 11块卖给另一个人, 问他赚了多少?
    

    ISSUE3:

    一天, 张三的店里来了一个顾客, 挑了25元的货, 顾客拿出100元,张三没零钱找不开,就到隔壁李四的店里把这100元换成零钱,回来后找了75元,李四来找张三说刚才的是假钱,张三马上给李四换了张真钱,问张三赔了多少?

    // 首页我们把问题分开解析,先从换钱开始,假设我提前知道我没有零钱,我先找李四换了100块的零钱,。
    这次给的可是100的真钱,他给我100零钱。之后我和李四就没什么联系了。
    // 然后顾客来买东西,拿了我25元的货,我又找给他75元。从我手中流出的资金就只有25 + 75.
    

    ISSUE4:

    如果20分钟前离上午9点的分钟数, 等于现在离上午12点的分钟数的3倍,那么,现在离上午12点还有多少分钟?

    ISSUE5:

    两个袋子中各有4个白球,4个黑球,现在,我分别从两个袋子中取出一个球。请问,在我所取出的球中,至少有一个是黑球的几率有多大?

    ISSUE6

    有一堆核桃,如果5个5个的数,则剩下4个,4个4个的数,则剩下3个,3个3个的数则剩下2个,2个2个的数剩下1个那么这堆核桃至少有多少个?

    // 从中可以找出一个规律,剩下的核桃比抓取的数少一个。当这个规律形成时,我们可以假设,如果我在这堆核桃+1那么他们都可以被个之整除
    // 然后就可以用最小公倍数解决
    

    ISSUE6-1

    一框鸡蛋1个1个拿,正好拿完。2个2个拿,还剩1个。3个3个拿,正好拿完。4个4个拿,还剩1个。5个5个拿,还剩一个。6个6个拿,还剩3个。7个7个拿,正好拿完。8个8个拿,还剩1个。9个9个拿,正好拿完。

    // 首先找规律,可以看到3、7、9是可以直接拿完这堆鸡蛋的。所有这堆鸡蛋的数量是一个能被3、7、9整除,那么这个数的最小公倍数等于63
    // 然后通过2个2个拿的还剩一个,那么这个数是个奇数。通过5个5个的拿还剩1个,判断出这堆鸡蛋的各位数是1或者6。通过前一个条件判断这个个位数是1
    // 判断了个位数是1, 那么这个数的倍数个位数是7的数。63 * (n * 10 + 7) =  441 + 630 * n
    // 最后根据4个4个拿 和 8个8个拿,还剩一个 说明441 - 0 余 1 说明630能被4和8整除,说明n的公倍数中有8。
    所以最后
    441 + 630 * 0 = 1071
    441 + 630 * 4 = 2961
    441 + 630 * 8 = 5481
    

    ISSUE7

    假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。

    // 首先用灌满5升水壶, 然后将5升水壶灌入6升水壶,6升水壶中有5升水
    // 然后再将5升水壶灌满, 然后将6升水壶灌满, 5中还剩4升水
    // 最后将6升水壶中的水倒掉,将5升水壶中的水全灌入, 再将5升水壶的水灌满倒入6升水壶至满。那么5升水壶中的水就只是3升
    

    技术

    ISSUE1

    查找出一个整数数组中第二大的整数

        var aa = [1,3,5,2,7,6]
        function secondToLast(data) {
            let max = Math.max(...data)
            data[data.indexOf(max)] = null
            return Math.max(...data)
        }
        console.log(secondToLast(aa)) // 6
    

    ISSUE2

    写个迭代函数, 要求打印出对象中从name值

    var json = {
      id: 'id1',
    name: 'name1',
    children: [
        {
          id:  'id21',
          name: 'name21',
          children: [
           {
              id:  'id31',
              name: 'name31'
            }
          ]
        }, {
              id:  'id41',
              name: 'name41',
            }
      ]
    }
    
    function method1(data) {
        console.log(data.name)
        if (data.children && data.children.length > 0) {
            data.children.forEach(item => {
                method1(item)
                })
        }
    }
    
    function method2(data) {
        let item = null
        console.log(data.name)
        for (item in data) {
            if (data[item] instanceof Array) {
                data[item].forEach(_item => {
                    method2(_item)
                })
            }
        }
    }
    method1(json)
    method2(json)
    

    相关文章

      网友评论

          本文标题:笔试

          本文链接:https://www.haomeiwen.com/subject/xxbxfxtx.html