1. 程式人生 > >鏈家2018實習生前端筆試題

鏈家2018實習生前端筆試題

col 範圍 能夠 輸出 差值 int() result 序號 家裏

一、找出1到n中缺少的數

var str=‘1 5 7 8 9 10 11‘;
var strArr=str.split(‘ ‘);
for (var i = 0; i < strArr.length; i++) {  
       strArr[i] = parseInt(strArr[i]);  
}  
//對數組進行升序排序
strArr.sort(function(num1, num2) {  
        return num1 - num2;  
}); 
var result=[];
var temp=1;  //temp用來控制數值和其對應下標的差值
    for (i = 0; i < strArr.length; i++) {  
        
var x1 = strArr[i] - i; //x1表示當前數組中數值和下標的差值 var x2 = i+temp; //因為正常情況下,數值和下標的值差1,所以要對x1加1,才是最終的結果 while ( x1 != temp) { result.push(x2); x2++; //在差值增加的情況下,缺失的值也應該加1 temp++; //如果差值不是1,那麽應該給temp加1,看差值是否是2,以此類推 } } console.log(result);

二、開關控制燈泡問題

題目:

在小紅家裏面,有n組開關,觸摸每個開關,可以使得一組燈泡點亮。 現在問你,使用這n組開關,最多能夠使得多少個燈泡點亮呢?

輸入 :第一行一個n,表示有n組開關。 接下來n行,每行第一個整數為k,表示這個開關控制k個燈泡,接下來k個整數,表示控制的燈泡序號。 滿足: 1<=n<=1000 ,1<=k<=1000 ,序號是在int範圍內正整數。

輸出 :輸出最多多少個燈泡點亮。

let n=readInt();
let res=[];
while(n--){
    let k=readInt();
    while(k--){
        let num
=readInt(); res.push(num); } } //ES6提供了新的數據結構Set。它類似於數組,但是成員的值都是唯一的,沒有重復的值。 //Set函數可以接受一個數組(或類似數組的對象)作為參數,用來初始化。 res=[...new Set(res)]; print(res.length);

鏈家2018實習生前端筆試題