zoukankan      html  css  js  c++  java
  • 去哪儿网2017校招在线笔试(前端工程师)编程题及JavaScript代码

    编程题很简单。整个试卷结构为:

    一、问答题:

          对前端的理解,了解哪些框架库?

    二、在线编程题:身份证分组

          如下第一道:身份证分组

    三、在线编程题:身份证分组、统计字符、酒店价格(三选二)

          如下第二三四道题中三选二作答。

          我也搞不懂为什么有两部分编程题~~~下面详细说一说编程题目及JS代码实现:

    第一道:身份证分组

    代码:

     1 var line;
     2 while(line = read_line()){
     3     while(line.indexOf(" ") != -1){
     4         line = line.replace(" ","");
     5     }
     6     if(line.length <= 6){
     7         print(line);
     8     }
     9     else if(line.length > 6 && line.length <= 14){
    10         var line1 = line.substring(0,6);
    11         var line2 = line.substring(6);
    12         print(line1 + " " + line2);
    13     }
    14     else if(line.length > 14 && line.length <= 18){
    15         var line1 = line.substring(0,6);
    16         var line2 = line.substring(6,14);
    17         var line3 = line.substring(14);
    18         print(line1 + " " + line2 + " " + line3);
    19     }
    20 }

    说明:全部AC。

    第二道:文件扩展名

    代码:

    1 var line;
    2 while(line = read_line()){
    3     while(line.indexOf(".") != -1){
    4         line = line.split(".");
    5         print(line[line.length-1]);
    6     }
    7 }

    说明:全部AC。

    第三道:统计字符

    代码:

     1 function find (obj, key) {
     2     if (! typeof obj === 'object') {
     3         return false;
     4     }
     5     if (key in obj) {
     6         return true;
     7     }
     8     else {
     9         return false;
    10     }
    11 }
    12 var line;
    13 while(line = read_line()){
    14     if(Object.prototype.toString.call(line)==='[object String]'){
    15         while(line.indexOf(" ") != -1){
    16             line = line.replace(" ","");
    17         }
    18         var json = {};
    19         for(var i = 0; i < line.length; i++){
    20               if (!find(json, line[i])){
    21                   json[line[i]] = 1;
    22               }
    23               else if(find(json, line[i])) {
    24                   json[line[i]] = json[line[i]] + 1;
    25                   if (json[line[i]] == 3&&((line[i]<='z'&&line[i]>='a')||(line[i] <= 'Z'&&line[i] >= 'A'))){
    26                       print(line[i]);
    27                       break;
    28                   }
    29                   else {
    30                       continue;
    31                   }
    32               }
    33         }
    34     }
    35 }

    说明:全部AC。我的实现好像有点复杂,后面会优化代码继续更新,也希望各位可以多多指点,讨论讨论思路。

     

    第四道:酒店价格

    说明:因为后面三道是三选二,所以最后一道我没做。

  • 相关阅读:
    2013-1-17 打开/关闭默认共享的命令
    2013-1-1遍历文件夹,改名文件
    2012-07-02 无边框最大化窗体
    2012-04-12 工具箱中添加自定义控件的方法
    2012-4-2 通过MdiParent设置窗体最前
    2012-2-7列举及终止进程
    python with as 以上这段代码执行完毕后,就算在处理过程中出问题了,文件 f 总是会关闭。
    终于好了 ipython 里执行dos命令 显示结果却显示在kernel界面里 搞定了
    Win7开启远程桌面
    哪位有方法把 dd/mm/yyyy的字符串 格式化成yyyy-mm-dd
  • 原文地址:https://www.cnblogs.com/SHERO-Vae/p/5945294.html
Copyright © 2011-2022 走看看