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