资讯专栏INFORMATION COLUMN

网易2018校招前端笔试题解析

Baoyuan / 1156人阅读

摘要:现在有一个给定的字符串中每个字符代表小易的某个砖块的颜色。例如那么小易有六种排列的结果其中只有和满足最多只有一对不同颜色的相邻砖块。输入描述输入包括一行四个整数以空格分割输出描述输出一个整数表示小易最多能独立生活多少天。

前言:注意,网易校招笔试在牛客网进行,在这里使用js完成算法题时,不要写一个function() {}就认为完成了题目,那样通过率是0%(题主就是这样,估计笔试挂了。。。)
应该以这种完整的输入输出方式完成

while(line = readline()) {
    //your function
    print(result)
}
题目1:

小易有一些彩色的砖块。每种颜色由一个大写字母表示。各个颜色砖块看起来都完全一样。现在有一个给定的字符串s,s中每个字符代表小易的某个砖块的颜色。小易想把他所有的砖块排成一行。如果最多存在一对不同颜色的相邻砖块,那么这行砖块就很漂亮的。请你帮助小易计算有多少种方式将他所有砖块排成漂亮的一行。(如果两种方式所对应的砖块颜色序列是相同的,那么认为这两种方式是一样的。)
例如: s = "ABAB",那么小易有六种排列的结果:
"AABB","ABAB","ABBA","BAAB","BABA","BBAA"
其中只有"AABB"和"BBAA"满足最多只有一对不同颜色的相邻砖块。
输入描述:

输入包括一个字符串s,字符串s的长度length(1 ≤ length ≤ 50),s中的每一个字符都为一个大写字母(A到Z)。

输出描述:

输出一个整数,表示小易可以有多少种方式。

输入例子1:

ABAB

输出例子1:

2

解析:其实这道题思路很简单,如果字符串包含2种以上不同字母,输出0,正好两种字母,输出2,如果只有一种字母,输出1。
//代码仅供参考
while(line = readline()) {
    //切割输入
    var arr = line.split("");
    //使用对象存储有多少种字符及其出现次数
    var obj = {};
    var len = arr.length;
    for(var i=0; i 2) {
        print(0)
    }else if(arr2.length == 2) {
        print(2)
    }else {
        print(1)
    }
}
题目2:

如果一个01串任意两个相邻位置的字符都是不一样的,我们就叫这个01串为交错01串。例如: "1","10101","0101010"都是交错01串。
小易现在有一个01串s,小易想找出一个最长的连续子串,并且这个子串是一个交错01串。小易需要你帮帮忙求出最长的这样的子串的长度是多少。
输入描述:

输入包括字符串s,s的长度length(1 ≤ length ≤ 50),字符串中只包含"0"和"1"

输出描述:

输出一个整数,表示最长的满足要求的子串长度。

输入例子1:

111101111

输出例子1:

3

解析:利用正则/(10)+/g先判断最长10循环字串,然后判断该字串前后是否为0和1。如果不匹配,用/01/g校验,满足,长度为2,否则,长度为1。
while(line = readline()) {
    var patt = /(10)+/g;
    //num为最大交错子串长度
    var num = 0;
    //arr为匹配正则的子串数组
    var arr = line.match(patt);
    //寻找最长10重复子串
    if (arr != null) {
        //maxLen为10子串长度,maxLenStr为子串内容
        var maxLen = 0;
        var maxLenStr = "";
        var len = arr.length;
        for(var i=0; i maxLen) {
                maxLen = arr[i].length;
                maxLenStr = arr[i];
            }
        }
        num = maxLen;
        //找到最长10重复子串起始点,判断其前后是否满足交错
        var maxLenIndex = line.indexOf(maxLenStr);
        if (line[maxLenIndex-1] == 0) {
            num++;
        }
        if (line[maxLenIndex+maxLen] == 1) {
            num++;
        }
        print(num);
    }else if((/(01)/g).test(line)) {
        print(2);
    }else {
        print(1);
    }
}
题目3:

小易为了向他的父母表现他已经长大独立了,他决定搬出去自己居住一段时间。一个人生活增加了许多花费: 小易每天必须吃一个水果并且需要每天支付x元的房屋租金。当前小易手中已经有f个水果和d元钱,小易也能去商店购买一些水果,商店每个水果售卖p元。小易为了表现他独立生活的能力,希望能独立生活的时间越长越好,小易希望你来帮他计算一下他最多能独立生活多少天。
输入描述:

输入包括一行,四个整数x, f, d, p(1 ≤ x,f,d,p ≤ 2 * 10^9),以空格分割

输出描述:

输出一个整数, 表示小易最多能独立生活多少天。

输入例子1:

3 5 100 10

输出例子1:

11

解析:该题也很简单,其实就是分两种情况,一种是需要买水果,另一种不需要买水果。先判断假使水果数量充足,只花费房租的问题。

while (line = readline()) {
    //以空格分割输入
    var arr = line.split(" ");
    //记得对字符串转数字
    [x,f,d,p] = arr.map(x=>parseInt(x,10));
    //分两种情况判断
    if (Math.floor(d/x) <= f){
        print(Math.floor(d/x));
    }else {
        var day = f;
        d -= f*x;
        day += Math.floor(d/(x+p));
        print(day);
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/87302.html

相关文章

  • 哔哩哔哩2018校招前端笔试

    摘要:前言前几日,哔哩哔哩在电子科大清水河校区举行了校招宣讲会。博文地址哔哩哔哩校招前端笔试第一题给定一个整数数组,找到具有最大和的子数组,返回最大和。 前言 前几日,哔哩哔哩在电子科大清水河校区举行了校招宣讲会。B站不用多说,中国最大的同性交友网站,不去工作也能去看看。 当晚便进行了部分笔试,下面是我参加的前端笔试试题和我自己的解答,分享给大家。 博文地址:哔哩哔哩2018校招前端笔试...

    anquan 评论0 收藏0
  • 哔哩哔哩2018校招前端笔试

    摘要:前言前几日,哔哩哔哩在电子科大清水河校区举行了校招宣讲会。博文地址哔哩哔哩校招前端笔试第一题给定一个整数数组,找到具有最大和的子数组,返回最大和。 前言 前几日,哔哩哔哩在电子科大清水河校区举行了校招宣讲会。B站不用多说,中国最大的同性交友网站,不去工作也能去看看。 当晚便进行了部分笔试,下面是我参加的前端笔试试题和我自己的解答,分享给大家。 博文地址:哔哩哔哩2018校招前端笔试...

    TalkingData 评论0 收藏0
  • 哔哩哔哩2018校招前端笔试

    摘要:前言前几日,哔哩哔哩在电子科大清水河校区举行了校招宣讲会。博文地址哔哩哔哩校招前端笔试第一题给定一个整数数组,找到具有最大和的子数组,返回最大和。 前言 前几日,哔哩哔哩在电子科大清水河校区举行了校招宣讲会。B站不用多说,中国最大的同性交友网站,不去工作也能去看看。 当晚便进行了部分笔试,下面是我参加的前端笔试试题和我自己的解答,分享给大家。 博文地址:哔哩哔哩2018校招前端笔试...

    zhonghanwen 评论0 收藏0
  • 记录一下自己的春招,唯品会、360、京东offer已收、腾讯offer_call已达!!!

    摘要:春招结果五月份了,春招已经接近尾声,因为到了周五晚上刚好有空,所以简单地记录一下自己的春招过程。我的春招从二月初一直持续到四月底,截止今天,已经斩获唯品会电商前端研发部大数据与威胁分析事业部京东精锐暑假实习生的腾讯的是早上打过来的。 春招结果 五月份了,春招已经接近尾声,因为到了周五晚上刚好有空,所以简单地记录一下自己的春招过程。我的春招从二月初一直持续到四月底,截止今天,已经斩获唯品...

    freewolf 评论0 收藏1
  • [ 前端笔试 ] 2016阿里巴巴校招前端笔试部分试 ( 持续更新...)

    摘要:更新图片单击可放大第题第题第题第题第题第题第题忘了第题第题后面几题没截到图啊。实现格式化输出,比如输入,输出为运用设置读取删除写个函数啥的给出,叫你添加完成一个样式设置,感觉比较简单,可能掉坑了。明天要考的同学也可以看看题型。 2015.4.1 更新 【图片单击可放大】 第1题 showImg(https://segmentfault.com/img/bVleCL); ...

    defcon 评论0 收藏0

发表评论

0条评论

Baoyuan

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<