首页 > 360前端笔试E卷,笔试凉经
头像
牛客-skinner
编辑于 2021-04-19 18:14
+ 关注

360前端笔试E卷,笔试凉经

我是菜B,我是菜B,我是菜B。。。

  • 题型:

    39道单选,1道多选,,总共40分

    2道编程题,总共60分

  • 类型

    选择题涉及计网、JS基础、CSS基础、正则、数据结构、算法、浏览器原理、canvas等,乱七八糟

    算法题:字符串、dp

算法题1:

把所有a放到b的右边,如ab变为bba,求最小操作次数

  • 示例

    ab => bba 一次操作

    aab => abba => bbaba =>bbbbaa 三次操作

 //我只能AC45%,我也太菜了。。。求大神解答 while (line = read_line()) {  let str = line;  let step = 0;  let stack = str.split('');   if (!str.length || !stack.includes('b')) {  print(0)  }    for (let i = stack.length - 1; i >= 1; i--) {  if (stack[i] === 'b' && stack[i - 1] === 'a') {  replace(stack, i);  i = stack.length - 1;  }  }  print(step)   function replace(stack, index) {  //a换为b  stack.splice(index - 1, 1, 'b');  //b后面加a  stack.splice(index + 1, 0, 'a');  return stack  } }

算法题2:

把只含1,2,3,4的字符串转化为回文,你可以增加或删除,但需要付出代价,求把字符串转化为回文的最小代价。

增加1:100,删除1:120

增加2:200,删除2:350

增加3:360,删除3:200

增加4:220,删除4:320

  • 示例

    12322,最小代价是300,

    12322 => 1223221 或 2123212 增加一个1和一个2

 //没写出了。。。。。。。

全部评论

(4) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

近期精华帖

热门推荐