摘要:牛客網為了滿足我們用寫編程題的愿望,在那塊,給提供了和兩個方法,用來讀取輸入和輸出但很明顯,這只能在它提供的編碼頁面才能用,我們想線下使用,而且想進行是更不可能的。
項目地址
正直秋招季,對找工作的人來說,牛客網肯定不陌生,現在很多大型互聯網公司的在線筆試都是在牛客網上面進行的(好像有打廣告的嫌疑)。
Js有那么多的操作數據結構的api,ES6新增的那些set、map數據結構和其它的比如Array.from()這么方便的東西。作為一名想成為前端程序員的菜鳥,就想好好的用Js寫編程題,奈何都知道,Js局限性,對數據的讀取和輸出都得靠頁面來實現,當然也可以console,只是不符合我們現在需要的使用場景。
牛客網為了滿足我們用Js寫編程題的愿望,在Javascript v8那塊,給提供了readline()和print()兩個方法,用來讀取輸入和輸出:
但很明顯,這只能在它提供的編碼頁面才能用,我們想線下使用,而且想進行debug是更不可能的。怎么辦?想用Js寫題目又不能保證代碼一次寫對,想debug又無從下手。然后一堆人轉用C++、Java去了。但本菜鳥就是想用Js寫,怎么辦?只能自己仿照那兩個函數(readline()和print())實現其功能了,寫一個線下的調試頁面,本地js代碼放上去調試,完了之后直接復制黏貼代碼到牛客網就行了。
效果演示:
先說下,代碼很簡陋,基本思路就是一個頁面兩個框,一個用來輸入數據--readline(),一個用來顯示執行結果--print()。要調試的Js文件得自己在entry.js文件中引入,然后在chrome的開發者工具那塊debug。具體用法和注意事項請參照項目源碼那邊的README。
不貼下代碼好像不地道,這是項目的核心文件entry的代碼,包括實現readline()和print()函數:
/*加載js文件*/ var excute = function(){ var script = document.createElement("script"); script.src = "./code/demo.js"; document.body.appendChild(script); } /*讀取一行數據*/ var readline = function () { var data = " " + document.getElementById("data").value + " "; readline.count = ++readline.count || 1; var line = [], nNum =0; for(var i = 1,vlen = data.length; i < vlen; i++){ if(data[i] === " "){ nNum +=1; } if(nNum === readline.count){ for(var ii = i-1; data[ii] != " "; ii--){ line.push(data[ii]); } line = line.reverse(); return line.join(""); //返回的是字符串類型 //break; } } } /*重測數據*/ var repeat = function(){ var con = document.getElementById("data").value; readline.count = undefined; document.getElementById("result").innerHTML = ""; } /*更新頁面 清空輸入框*/ var update = function () { window.location = "./entry.html"; } /*輸出函數*/ var print = function (data) { //console.log(data); document.getElementById("result").innerHTML = ""; document.getElementById("result").innerHTML = data; }
這個工具的初衷是能愉快的用牛客網的那兩個api,在線下調試Js代碼,想要的就拿去吧,希望能start鼓勵一下,還有很多不足,以后有時間慢慢完善吧。大佬輕噴,菜鳥一枚。
項目地址
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88508.html
摘要:用于牛客網引擎評測機的本地測試頁面項目地址功能和界面等尚不完善,故歡迎提出各種意見為什么做這個藍橋賽后無所事事隨便做題發現牛客網允許使用提交,并定義了專有輸入輸出方法和,但是并沒有提供靠譜測試的隨意測試的環境作為一個自詡為前端汪的大專學渣 用于牛客網 v8引擎評測機的本地測試頁面 項目地址 GitHub https://github.com/iamapig120...Gitee htt...
摘要:牛客網其中只支持單行輸入賽碼網注意,如果一行超過個字符,會被強制分行的,因此如果題目明確說明該行超過字符,請自行拼接當然,我們盡量不出這種題目。 刷題時js的輸入問題總結大部分來自于 http://www.cnblogs.com/floor/... 感謝解決燃眉之急 還有小部分是自己的整理和思考 目前常見平臺還不太支持ES6寫法 推薦js刷題平臺 https://www.codewa...
摘要:實現牛客網的輸入和輸出在牛客網上,用做筆試的童鞋首先要做的事情就是學會如何輸入和輸出。下面再根據要求對每一行數據進行處理,比如類似于單行輸入將每一行數據按照空格轉換為數組等輸出你的結果 nodeJS實現牛客網的輸入和輸出 在牛客網上,用js做筆試的童鞋首先要做的事情就是學會如何輸入和輸出。否則就算看得懂題也無法通過筆試。話不多少,我們直接開始: 1、選擇語言showImg(https:...
摘要:斷更了,家里出了一點事情,回家了幾天,然后回頭看發現握草,斷了天,因此,每天補一個吧下列符號中可以在程序里表示單行注釋的是個人見解選項目前我只在語法中使用過,代表注釋的意思選項是多行注釋選項是單行注釋選項是文檔注釋在方法中給出的整型數組 斷更了,家里出了一點事情,回家了幾天,然后回頭看發現握草,斷了12天,因此,每天補一個吧 ==============================...
摘要:先介紹一下本人應屆前端開發一枚,非科班出身,專業是化學,大學期間開始自學前端開發,在今年春招實習和秋招的時候投了一些公司,拿到一些京東拼多多虎牙等,總體來說還算滿意,特地寫一篇文章來總結一下面試的那些套路。 showImg(https://segmentfault.com/img/remote/1460000011897700); 先介紹一下本人應屆前端開發一枚,非科班出身,專業是化學...
閱讀 2778·2021-10-14 09:42
閱讀 832·2021-10-11 10:57
閱讀 776·2019-08-30 15:54
閱讀 1920·2019-08-30 13:50
閱讀 1690·2019-08-30 11:19
閱讀 938·2019-08-29 12:38
閱讀 1429·2019-08-26 11:51
閱讀 1397·2019-08-26 10:48