单选题
1.Git 暂存操作的API是什么
2.[]的valueOf和toString的结果是什么?
3.排序算法中哪一种算法的时间复杂度是O(nlogn)?
4.通常情况下,一个URL的格式是
5.以下哪个项目不是可以在HTML文档中使用的特殊字符
6.CSS权重顺序正确的是
7.面向对象编程设计的特点不包括
8.网络七层协议不包括
9.关于javascript下列说法错误的是
下边这代码输出的结果是
const one = 0.1
const two = 0.2
const three = 0.3
console.log([two - one == one, three - two == one]);
多选题
11.Chrome浏览器都有哪些进程?
12.下面返回结果为true的有:
13.下面判断语句正确的有:
14.假设线上代码的分支是master,本地修复bug的分支为fix,上线时下列哪些git操作是正确的
15.在linux系统中,修改文件夹的权限使用的命令是
16.下面关于javascript的说法正确的有
17.已知字符串:‘电话号码是:123-4567-8901’,如下正则表达式可以匹配到字符串中的电话号码的
有:
18.如下方式创建的数组长度为5的有
19.已知const arr = [‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’],下面可以获取数组最后一项的表达式有
20.javascript基本数据类型有
问答题
【颜色分类】
问题描述: 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排 列。
此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。
输入描述:
输入:数组nums
输出描述:
输出:数组nums
输入样例:
2 0 2 1 1 0
输出样例:
[0,0,1,1,2,2]
function swap(nums,i,j){
let t=nums[j];
nums[j]=nums[i];
nums[i]=t;
}
function sortColors(nums){
let ptr=0;
for(let i=0;i<nums.length;i++){
if(nums[i]===0){
swap(nums,i,ptr);
++ptr;
}
}
for(let i=0;i<nums.length;i++){
if(nums[i]===1){
swap(nums,i,ptr);
++ptr;
}
}
return nums;
}
var line;
while(line=read_line()){
//读取的类型是字符串类型
line=line.split(' ');
//将字符串分割成字符串数组
var lines=line.map(Number);
print(JSON.stringify(sortColors(lines)));
}
【罗马数字转整数】
问题描述: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M, 分别对应数字:1,5, 10, 50,100,500,1000。例如, 罗马数字 2 写做 II ,即 为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于 大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:
I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。
C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900
给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内。
var romanToInt =function(s){
const symbolValues=new Map();
symbolValues.set('I',1);
symbolValues.set('V',5);
symbolValues.set('x',10);
symbolValues.set('L',50);
symbolValues.set('C',100);
symbolValues.set('D',500);
symbolValues.set('M',1000);
let ans=0;
const n=s.length;
for(let i=0;i<n;++i){
const value=symbolValues.get(s[i]);
if(i<n-1&&value<symbolValues.get(s[i+1])){
ans-=value;
}else{
ans+=value;
}
}
return ans;
}
var line;
while(line=read_line){
print(romanToInt(line));
}