• 拼多多2018提前批前端笔试总结


    题型:14单选、5不定项选择、3问答(比较基础的编程)

    1.编程题

    (1)给定一个包含N个整数的数组A,找出所有不一样的组合 i 、j、k ,使得 A[i]+A[j]+A[k]=0; 例如 A=[-1,0,1,2,-1,4],输出为[-101],[-1,-1,2]。请用javascript实现。

    思路:使用三层遍历循环,求出满足使得  A[i]+A[j]+A[k]=0 的所有可能的 i 、j、k 组合;对得到所有组合进行排序;最后删除掉重复的组合并输出就是所得的结果。

    function sum(arr){
        var n = arr.length;
        var result = [];
        for(var i=0; i<n-2; i++){
            for(var j=1; j<n-1; j++){
                for(var k=2; k<n; k++){
                    if(arr[i]+arr[j]+arr[k] == 0){
                        var temp = [arr[i], arr[j], arr[k]];
                        result.push(temp);
                    }
                }
            }
        }
        //子数组排序
        result.forEach(function(item){
            return item.sort();
        });
        //二维数组的去重
        var hash = {};
        var newArr = [];
        for(var i=0,len=result.length; i<len; i++){
            if(!hash[result[i]]){
                newArr.push(result[i]);
                hash[result[i]] = true;
            }
        }
        // console.log(hash);
        console.log(newArr);  //[ [ -1, 0, 1 ], [ -1, -1, 2 ] ]
    }
    sum([-1,0,1,2,-1,4]); 

    (2)写一个mul函数,使得方法如下:

    console.log(mul(2)(3)(4)); //output:24
    console.log(mul(4)(3)(4)); //output:48

    解题如下:

    function mul(i){
        return function(j){
            return function(k){
                return i * j * k;
            }
        }
    }
    console.log(mul(2)(3)(4)); //output:24
    console.log(mul(4)(3)(4)); //output:48

    (3)使用标准的dom方法或属性编写一段javascript脚本生成下面这段dom结构。

    <div id="pdd">
        <p class="pdd-slogan">多实惠,多乐趣</p>
    </div>

    方法1

        var div = document.createElement('div');
        div.id = 'pdd';
        var para = document.createElement('p');
        para.className = 'pdd-slogan';
        para.innerHTML = "多实惠,多乐趣";
        div.appendChild(para);
        document.body.appendChild(div);

    方法2

        var div = document.createElement('div');
        div.setAttribute('id', 'pdd')
        var para = document.createElement('p');
        para.setAttribute('class', 'pdd-slogan');
        var text = document.createTextNode("多实惠,多乐趣");
        para.appendChild(text);
        div.appendChild(para);
        document.body.appendChild(div);
  • 相关阅读:
    [C#/.NET]Entity Framework(EF) Code First 多对多关系的实体增,删,改,查操作全程详细示例
    玩转Asp.net MVC 的八个扩展点
    float实例讲解
    C#高性能TCP服务的多种实现方式
    如何把SQLServer数据库从高版本降级到低版本?
    ASP.NET MVC Area使用-将Area设置成独立项目
    如何使用ping和tracert命令测试网站访问速度
    ASP.NET MVC 入门10、Action Filter 与 内置的Filter实现(实例-防盗链)
    MVC Action Filter
    c#中单元测试
  • 原文地址:https://www.cnblogs.com/guorange/p/7469182.html
Copyright © 2020-2023  润新知