美团编程题

来源:互联网 发布:阿里云域名注册价格 编辑:程序博客网 时间:2024/05/16 18:45

2017/9/1更(找个时间熟悉熟悉赛码、牛客的在线编程环境吧,输入输出有点懵逼)

很多主要是数组、字符串的操作;
还是要多学习:数组对象

slice(start,end);//截取split(" ");//分割indexOf();//查找是否存在,有,返回索引;无,返回-1;splice(index,howmany,item....);//删除sort(function);//排序pop();//删返last item;对应shift(),删返first
// Q:// 输入://     第一行n,n个超链接;//     之后每行一个超链接;//     然后一行m,m个已经点击过的超链接,有重复;//     之后每行一个超链接;// 输出://     未被点击的链接,按字典序排列;// 如:// 输入://     6//     meituan//     jindong//     tb//     bd//     tx//     sn//     5//     jindong//     sn//     tb//     jd//     tb// 输出://     bd//     meituan//     txvar readline ="6 mt jd tb bd tx sn 5 jd sn tb jd tb",clear=[],index;var rl=readline.split(" ");var n = parseInt(rl[0]);// 获取所有链接var all = rl.slice(1,n+1);// 获取所有点击过的var clicked = rl.slice(n+2);//console.log(all,clicked);//去掉clicked重复的for (var i=0;i<clicked.length;i++){    //indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。没有出现则返回-1;str.indexOf()和array.indexOf()都可以    if(clear.indexOf(clicked[i]) === -1){        clear.push(clicked[i]);    }}//console.log(clear);// 遍历查询clear中的元素是否在all中存在,若存在,获取该元素索引,然后在all中根据索引删除它;for( i=0;i<clear.length;i++){    index = all.indexOf(clear[i]);    if(index !== -1){        // splice方法从该索引开始,删除指定数量(1个)的值,不添加新的元素        all.splice(index,1);    }}console.log(all.sort());
// Q://   输入:第一行为n,即多少个数字;第二行,为任意0和1,空格隔开;//   输出:最长的相邻两个数都不相同的子串// 如://   输入://       10//       0 1 1 0 1 0 1 1 1 0// 输出://       5//在线笔试用的是Google V8引擎,读取输入用read_line();这里模拟输入var readline ="10 0 1 1 0 1 0 1 1 1 0";var rl = readline.split(" ");var n = parseInt(rl[0]);var num = rl.slice(1);var result =[],cont=[];//对比结果和计数数组var myLength = 1;result.push(num[0]);//存入第一个数进行对比for (var i=0;i<num.length-1;i++){    // 判断result的第i个是否等于num的第i+1个是否相等,其实就是num的第i个和i+1个是否相等;    if(result[i] !== num[i+1]){        //不等,则符合条件,长度+1,并num[i+1]存入result做下一次的对比;        myLength++;        result.push(num[i+1]);    }else {        //相等,长度置为1,重新开始计数,并num[i+1]存入result做下一次的对比,这里也要存进去,否则result[i]会被赋值undefined        myLength =1;        //再写一遍,没写这个我调试了好久。。。        result.push(num[i+1]);    }    // 把每次判断之后得到的结果都存入cont数组    cont.push(myLength);}// 对cont数组按小->大排序cont.sort(function (a,b) {    return a-b;});//输出最后一个//pop()删除返回最后一个元素//console.log(cont.pop());console.log(cont[cont.length-1]);
原创粉丝点击