zoukankan      html  css  js  c++  java
  • 2018前端个人笔试记录(一)

    楼主网申了网易的前端开发岗,两周后发来了网易的笔试邀请并附上了链接。

    整个笔试分为三部分,选择,编程和解答。楼主底子很差,这次笔试也只是试水。在发现大部分笔试题不会之后,没有解答完就提交了。(捂脸)

    下面是笔试部分记录:

    编程部分

    1、小Q得到一个神奇的数列:1,12,123,........12345678910,1234567891011...

         并且小Q对于能否被3整除这个性质很感兴趣。小Q现在希望你能帮助他计算一下从数列的第1个到第r个(包含端点)。

    输入描述:

    输入包括两个整数l 和 r(1 <=l <= r <= 1e9),表示要求解的区间两端。

    输出描述:

    输出一个整数,表示区间能被3整除的数字个数。

    举例:输入:2   5    输出: 3;

    表示12,123,1234,12345 中能被3 整除的数有3个。

    2、牛牛以前在老师那里得到了一个正整数数对(x,y,),牛牛忘记他们具体是多少了。但是牛牛记得老师告诉过他x和y均不大于n,并且x除以y的余数大于等于k,牛牛希望你能帮他计算一共有多少个可能的数对。

    输入描述:输入包括两个整数,n,k(1 <= n <= 10^5,0 <= k <= n -1)。

    输出描述:对于每个测试用例,输出一个正整数表示可能的数对数量。

    举例:输入:5  2  ;输出: 7。 满足条件的数对有:(2,3)  ;满足条件的数对有(2,3)(2,4)(2,5)(3,4)(3,5)(4,5)(5,3);

    3、牛牛去犇犇老师家补课,出门的时候面向北方,但是他现在迷路了,虽然他手里有一张地图,但是他需要知道自己面向的是哪个方向。请你帮助他。

    输入描述: 

    每个输入包含一个测试用例。

    每个输入包含一个测试用例,每个测试用例的第一行包含一个正整数,表示转的方向的次数N(N<=1000)。

    接下来的一行包含一个长度为N的字符串,由L和R组成,L表示向左转,R表示向右转。

    输出描述:

    输出牛牛最后的面向的方向,N表示北,S表示南,E表示东,W表示西。

    小Q数列问题:
    ------------------------------
        输入:2  5
        输出:3
    */
    
    console.log("【小Q数列结果】一共有" + three(2, 5) + ""); // 检查结果
    
    function three(num1, num2) {
        let tmpFirst = ""; // 开端数字
        let tmpSecond = ""; // 结束数字
    
        let threeNumber = 0; // 整除3的数量
    
        for (let index = 1; index <= num1; index++) {
            tmpFirst += index.toString();
        }
        console.log("小Q数列--  " + "开端数字是" + tmpFirst); // 得到开端数字
    
        for (let index = 1; index <= num2; index++) {
            tmpSecond += index.toString();
    
            if (tmpSecond >= tmpFirst && tmpSecond % 3 == 0) { // 取得区间数字,并整除3
                threeNumber += 1;
                console.log("小Q数列--  " + "数字 " + tmpSecond + " 可以整除3");
            }
        }
    
        return threeNumber;
    }
    
    
    /* 
    牛牛数对问题:
    ------------------------------
        输入:5  2
        输出:7
    */
    console.log("【牛牛数对结果】一共有" + pair(5, 2) + ""); // 检查结果
    
    function direction(n, k) {
    
        let pairNumber = 0; // 数对数量
    
        for (let indexX = 1; indexX <= n; indexX++) { // indexX是数对左边数字
    
            for (let indexY = 1; indexY <= n; indexY++) { // indexY是数对右边数字
    
                if (indexX % indexY >= k) { // 计算余数是否等于k
                    pairNumber += 1;
                    console.log("牛牛数对--  " + "数对 (" + indexX + "," + indexY + ") 符合");
                }
            }
    
        }
    
        return pairNumber;
    }
    
    
    /* 
    牛牛转向问题:
    ------------------------------
        输入:3
              LRR
        输出:E
    */
    console.log("【牛牛转向结果】方向是" + direction(3, "LRR")); // 检查结果
    
    function direction(number, action) {
        let leftNum = 0; // 左转次数
        let rightNum = 0; // 右转次数
    
        for (let index = 0; index < action.length; index++) {
            action[index] == "L" ? leftNum += 1 : rightNum += 1; //取得左转和右转几次
        }
    
        console.log(leftNum,rightNum);
        let result = Math.abs(leftNum * (-1) + rightNum * 1); // 最终转的次数(左转一次和右转一次会抵消)
    
        let directionValue = 1 + result % 4; //数字4是一圈,所以取余数就是最终方向;初始方向是北,所以加1
    
        switch (directionValue) {
            case 1:
                return "N"; // 1代表北
            case 2:
                return "E"; // 2代表东
            case 3:
                return "S"; // 3代表南
            case 4:
                return "W"; // 4代表西
        }
    }
  • 相关阅读:
    Hook钩子程序
    KMeans笔记 K值以及初始类簇中心点的选取
    自己用C#写的一个俄罗斯方块的小程序(附源代码)。
    那些帮助你成为优秀前端工程师的讲座——《JavaScript篇》
    Mac技巧合集第二期
    WCF增加UDP绑定(应用篇)
    第一个MVC4 Web应用程序
    jQuery的页面加载事件
    通过网页进行 iOS 应用内部分发
    sql count效率
  • 原文地址:https://www.cnblogs.com/yun1108/p/8666229.html
Copyright © 2011-2022 走看看