百度前端笔试

1 1 0.7

实在看不懂

!that.isMultiple && values.length > 1 && (values.length = 1);

这句话有什么用。。。。

1.(m-a)(n-b)<=k

let temp = readline().split(' ');
let n, m, k;
n = parseInt(temp[0]);
m = parseInt(temp[1]);
k = parseInt(temp[2]);
if(n > m) {
    [n, m] = [m, n];
}
let sub = m*n - k;
if(parseInt(sub/m) === sub/m) {
    print(sub/m);
}else {
    print(parseInt(sub/m)+1);
}
  1. 能不能完成工作

    let T  = parseInt(readline());
    for(let k = 0;k < T; k++) {
     let n = parseInt(readline());
     let work = [];
     for(let i = 0; i < n; i++) {
         let temp = readline().split(' ');
         work.push({'a':parseInt(temp[0]), 'b':parseInt(temp[1])})
     }
     work.sort((a, b) => a.b - b.b);
    
     let time = 0, judge = true;
     for(let i = 0, len = work.length;i < len; i++) {
         let val = work[i];
         if(val.a + time <= val.b) {
             time += val.a;
         }else {
             judge = false;
         }
     }
     if(judge) {
         print('Yes');
     }else {
         print('No');
     }
    }

3.js操作

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    .checkgroup .item{
        height: 42px;
        line-height: 42px;
        padding: 0 10px;
        margin: 10px 0;
        border: 1px solid #c7c7c7;
        border-radius: 6px;
    }
    .checkgroup.radius .item{
        border-radius: 21px;
    }
    .checkgroup .item.selected{
        border: 1px solid #08b292;
        background: #08b292;
        color: #ffffff;
    }
  </style>
</head>
<body>
  <div id="jsCheckGroup">

  </div>
  <script>
    function CheckGroup(renderTo, options, isMultiple) {
        var that = this;
        that.renderTo = renderTo;
        that.options = options;
        that.isMultiple = !!isMultiple;
        that.initHtml();
        that.initEvent();
    }
    CheckGroup.prototype.initHtml = fInitHtml;
    CheckGroup.prototype.initEvent = fInitEvent;
    CheckGroup.prototype.toggleEl = fToggleEl;
    CheckGroup.prototype.isSelected = fIsSelected;
    CheckGroup.prototype.val = fVal;

    function fInitHtml() {
        var that = this;
        // 请补全代码,拼接html字符串
        var sHtml = "";
        if(that.isMultiple) {
          sHtml += "<div class='checkgroup'>"
        }else {
          sHtml+="<div class='checkgroup radius'>"
        }
        for(let i = 0, len = that.options.length; i < len; i++) {
          let item = that.options[i];
          let itemStr = "<div data-val="+item.value+" class='item' onclick='CheckGroup.fToggleEl'>"+item.text+"</div>"
          sHtml += itemStr;
        }
        sHtml+="</div>";
        that.renderTo.innerHTML = sHtml;
        // 请补全代码,获取checkgroup的dom元素引用
        that.el = null;
        that.el = document.getElementsByClassName('checkgroup')[0];
        console.log(that.el.getAttribute('class'));
    }

    function fInitEvent() {
        var that = this;
        that.el && that.el.addEventListener('click', function (event) {
            var item = event.target;
            item.classList.contains('item') && that.toggleEl(item);
        });
    }

    function fToggleEl(item) {
        // 根据当前是单选还是多选,以及当前元素是否选中,高亮/取消���亮指定的选项dom元素
        var that = this;
        let classNames = item.getAttribute('class');
        if (that.isSelected(item)) {
            classNames = classNames.replace('selected', '');
            item.setAttribute('class', classNames);
            // 请补全代码
        } else if (that.isMultiple) {
            classNames += " selected";
            item.setAttribute('class', classNames);
            // 请补全代码
        } else {
           let chose = document.getElementsByClassName('selected')[0];
           if(chose) {
              let classNames = chose.getAttribute('class');
              classNames = classNames.replace('selected', '');
              chose.setAttribute('class', classNames);
           }
           item.setAttribute('class', 'item selected');
            // 请补全代码
        }
    }

    function fIsSelected(item) {
        // 请补全代码,判断item是否选中
        let classNams = item.getAttribute('class');
        if(classNams.includes('selected')) {
          return true;
        }else {
          return false;
        }
    }

    function fVal(values) {
        var that = this;
        if (arguments.length === 0) {
            // 请补全代码,获取高亮的选项元素
            var items = null;
            items = document.getElementsByClassName('selected');
            // 请补全代码,获取高亮的选项元素的data-val
            var result = [];
            for(let i = 0, len = items.length; i < len; i++) {
              let item = items[i];
              result.push(item.getAttribute('data-val'));
            }
            return result;
        }
        !that.isMultiple && values.length > 1 && (values.length = 1);
        // 请补全代码,获取所有的选项元素
        var items = null;
        items = document.getElementsByClassName('item');
        // 请补全代码,在指定元素上加上高亮的class
        for(let i = 0, len = values.length; i < len; i++) {
          for(let j = 0, len2 = items.length; j < len2; j++) {
            if(items[j].getAttribute('data-val') === values[i]) {
              let name = items[j].getAttribute('class') + " selected";
              items[j].setAttribute('class', name);
            }
          }
        }
        var result = [];
        for(let i = 0, len = items.length; i < len; i++) {
          let item = items[i];
          result.push(item.getAttribute('data-val'));
        }
        return result;
    }

    var options = [{text:'选项a', value:'a'}, {text:'选项b', value:'b'}, {text:'选项c', value:'c'}, {text:'选项d', value:'d'}]
    var item = new CheckGroup(document.getElementById('jsCheckGroup'), options, true);
    item.val(['a', 'b', 'c'])
  </script>
</body>
</html>
#前端##笔试题目##秋招#
全部评论
大佬,我就做了0.4,0.8,0.第三题剩20分钟,没看懂什么意思
点赞
送花
回复 分享
发布于 2019-09-17 21:05
最后一题过了吗?
点赞
送花
回复 分享
发布于 2019-09-17 21:07
字节跳动
校招火热招聘中
官网直投
!that.isMultiple && values.length > 1 && (values.length = 1); 作用是,如果挂载的是单选框时把数组截断,保证只会把数组中第一个变为selected
点赞
送花
回复 分享
发布于 2019-09-17 21:08
用来截断数组。。。测试测试着我就明白了。。
点赞
送花
回复 分享
发布于 2019-09-17 21:09
膜拜大佬  最后一题 果断放弃 0.4   0.8    0
点赞
送花
回复 分享
发布于 2019-09-17 21:18

相关推荐

07-16 16:00
已编辑
辽宁大学 运营
#非技术投递记录#&nbsp;末2❶百度特意挑了个招的人多的岗,嘿嘿万一就让我进去了呢7.10投递❷中新赛克这名字没听过,但是在南京,我小时候去南京玩,可热可热了。但是盐水鸭特别好吃。还有万三蹄。7.10投递❸京东原本以为京东进军kpl能收购我喜欢的战队的,结果买了vg,伤心。7.10投递7.11测评,性格也不知道他们想要啥样的人,我都是按当牛做马没长脑子的老实人选的。当年语文非连续性文本学的可好了,现在测评一个比一个答得差,嘿嘿。还考我逻辑,我要是有那东西我不就考研去了,我都要笨死了❺传音控股就一个文科岗,说是一年给三十多万,天呐这不投更待何时。7.11投递❻点点互动游戏企业,说真的我虽然爱玩游戏但是很菜,深谙vc才能赢,如果要是推进我再了解了解。7.11投递❼莉莉丝也是游戏企业,投了个战略,一个发行。一想到我投了战略研究员我就想笑,哈哈哈我怎么还战略研究员了7.11投递❽联基集团群里看到的,没听过啊,小红书连避雷都没有,但是又叫集团,我一看连一个招聘网站都没有,还得投邮箱。找营销,虽然我是金融但我还是投了,天杀的金融除了给当柜员老头老太太发养老金没有别的出路了吗。7.13投递❾腾讯产品经理管培生,这工作好啊,一出来就是经理。计算机理工科背景加分,鹅你录我我回头就拿出三天python&nbsp;87的精神学你。虽然大概率是分母,但是投就完了。7.13投递❿当当网也是一个投邮箱的,招运营采购啥的,采购也挺好,听说md采购20薪不知道真假7.15投递❿❶卓驭不招运营但是招产品经理,我这东一榔头西一棒槌的工作经验里巴拉巴拉还真有产品相关,我要是有可能进大疆,第一件事就是买一个pocket&nbsp;3,&nbsp;馋好久了7.15投递7.16测评❿❷科大讯飞产品运营居然有音乐方向,完完全全垂直经历哈哈哈哈哈哈我来了,能投俩,那我再投个产品运营7.15投递7.16测评 #本周投递记录#
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 13 评论
分享
牛客网
牛客企业服务