360sp前端笔试题技术综合E卷
时间:7.23 120分钟
选择题40题,代码2题
一、选择部分:
1、
let foo = function(){
let i=0;
return function(){
console.log(i++);
}
}
let f1 = foo()
let f2 = foo()
f1()
f2()
f1() 2、 <ul id="box">
<li>item1</li>
<li>item2</li>
<li>item3</li>
<li>item4</li>
<li>item5</li>
</ul>
var box = document.getElementById("box")
console.log(box.childNodes.length) 3、 var s = 5;
function put(){
s += 2;
}
console.log(s) 4、 var a = 0;
if(a){
console.log('yes')
}else {
console.log('no')
} 5、 .box{
width: 100px;
height: 100px;
background-color: red;
transitiion: all 1s;
}
.box:hover{
transform: rotate(45deg);
}
<div class="box"></div> 二、代码题:
1、ab串:
小明得到一个只包含a和b两个字符的字符串,但是小明不希望在这个字符串里a出现在b左边。现在他可以将"ab"这样在子串替换成"bba",在原串中的相对位置不变。输出小明最少需要操作多少次才能让一个给定字符串所有a都在b的左边。
2、回文数变换(Web)
所谓回文数就是一个数字,从左边读和从右边读的结果都是一样的,例如:12321
现在有一个只包含1、2、3、4的数字,你可以通过在任意位置增加一位数字或者删除一位数字来将其变换成一个回文数。但增加或删除不同数字所需要的代价是不一样的。
已知增加和删除每个数字的代价如下:
增加一个1,代价:100;删除一个1,代价:120。
增加一个2,代价:200;删除一个2,代价:350。
增加一个3,代价:360;删除一个3,代价:200。
增加一个4,代价:220;删除一个4,代价:320。
请问如何通过最少的代价将一个数字变换为一个回文数。当然,如果一个数字本身已经是一个回文数(包括一位数,例如:2),那么变换的代价为0。
#360笔试讨论##笔经##360公司#