文章出處
文章列表
編程題很簡單。整個試卷結構為:
一、問答題:
對前端的理解,了解哪些框架庫?
二、在線編程題:身份證分組
如下第一道:身份證分組
三、在線編程題:身份證分組、統計字符、酒店價格(三選二)
如下第二三四道題中三選二作答。
我也搞不懂為什么有兩部分編程題~~~下面詳細說一說編程題目及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。我的實現好像有點復雜,后面會優化代碼繼續更新,也希望各位可以多多指點,討論討論思路。
第四道:酒店價格
說明:因為后面三道是三選二,所以最后一道我沒做。
文章列表
全站熱搜