成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

刷題時js的輸入問題總結

Hancock_Xu / 2424人閱讀

摘要:??途W(wǎng)其中只支持單行輸入賽碼網(wǎng)注意,如果一行超過個字符,會被強制分行的,因此如果題目明確說明該行超過字符,請自行拼接當然,我們盡量不出這種題目。

刷題時js的輸入問題總結
大部分來自于 http://www.cnblogs.com/floor/... 感謝解決燃眉之急 還有小部分是自己的整理和思考
目前常見平臺還不太支持ES6寫法
推薦js刷題平臺 https://www.codewars.com 這里支持es6
還有疑惑的問題:
??途W(wǎng)是有兩套編譯環(huán)境的,v8和node,下面這些可以支持node方式,但是v8方式怎么處理多行的輸入問題,還需要再找資料查一下。

處理單行輸入問題

處理單行輸入比較簡單,通常刷題的網(wǎng)站都會給出說明,按照說明來編程一般不會有問題。下面列舉??途W(wǎng)和賽碼網(wǎng)的說明。

牛客網(wǎng)

V8

// 其中readline()只支持單行輸入
while(line=readline()){
    var lines = line.split(" ");
    var a = parseInt(lines[0]);
    var b = parseInt(lines[1]);
    print(a+b);
}

Node

var readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on("line", function(line){
var tokens = line.split(" ");
console.log(parseInt(tokens[0]) + parseInt(tokens[1]));
});
賽碼網(wǎng)
var line;
while(line = read_line()){
    line = line.split(" ");
    print(parseInt(line[0]) + parseInt(line[1]));
}

//注意,如果一行超過1024個字符,會被強制分行的
//,因此如果題目明確說明該行超過1024字符,請自行拼接(當然,我們盡量不出這種題目)。
/*
var next = "";
var line;
while(line = read_line()){
    next += line;
}
next中就是超過1024字符的該行字符串。
*/
??途W(wǎng)示例

示例題目地址,可以自行嘗試一下

// 通過代碼
var readline = require("readline")
const rl = readline.createInterface({
    input:process.stdin,
    output:process.stdout
})

rl.on("line", function(line) {
    var res = line.split("").reverse().join("")
    console.log(res)
})

補充內容:

"line"事件

每當input流接收到行結束符( 、 、 )時觸發(fā)"line"事件,通常發(fā)生在用戶按下Enter鍵或者Return鍵。監(jiān)聽器函數(shù)被調用時會帶上一個包含接收那一行輸入的字符串。如果不close,則不會停止對輸入的監(jiān)聽。

處理多行輸入問題 已知輸入行數(shù)

line事件是每次換行時都會觸發(fā)(前提是沒有close),那么如果在已知行數(shù)的情況下,可以將輸入push到臨時數(shù)組中,直到一組數(shù)據(jù)全部push完成之后再對該數(shù)組做處理,到下一組時將該數(shù)組清空。

示例題目

// 通過代碼
var readline = require("readline")
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})

var Num = 2
var inputs = []

rl.on("line", function(input) {
    inputs.push(input.trim())
  // 滿足一組行數(shù)條件之后再進行數(shù)據(jù)的處理
    if(Num == inputs.length) {  
        var res = []
        var s1 = inputs[0].split("")
        var s2 = inputs[1].split("")
        var len = s1.length
        for (var i = 0; i < len; i++) {
            res.push(s1[i])
            res.push(s2[len - i - 1])
        }
        res = res.join("")
        console.log(res)
        inputs.length = 0
    }
})
輸入行數(shù)不確定

這種類型題目大多是第一個輸入為數(shù)據(jù)的組數(shù),然后會輸入這幾組數(shù)據(jù),即為1+n模式。所以每組數(shù)據(jù)的第一個一定是接下來要獲取輸入的行數(shù),后面這部分相當于已知行數(shù),只需要在上面的基礎上添加獲取行數(shù)邏輯即可。

示例題目

// 通過代碼
var readline = require("readline")
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})

var num = 0
var inputs = []
rl.on("line", function(line) {
    if(num == 0) {
      // 這里其實Number也可以,但是這里只需要整數(shù),所以直接用了parserInt
        num = parseInt(line.trim())
    } else {
        inputs.push(line.trim())
        if(num == inputs.length) {
            var res
            inputs.sort(function(a, b) {
                return a - b
            })
            if(num % 2) {
                res = inputs[(num - 1) / 2]
            } else {
              // 這里要注意轉化一下  不然會拼接成字符串
                res = Math.floor((parseInt(inputs[num / 2]) + parseInt(inputs[num / 2 - 1]))  / 2)
            }

            console.log(res)
          // 不要忘記清空
            inputs.length = 0
            num = 0
        }
    }
})

ps:校招季到了,復習的時候發(fā)現(xiàn)很多東西其實似懂非懂,還是要把看過學過的東西真真正正自己動手敲一遍,給自己再講一遍才可以。給自己攢人品~祝小伙伴們都順利~找到滿意的工作哈~

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://m.hztianpu.com/yun/84837.html

相關文章

  • leetcode刷題:283.Move Zeroes(Easy)

    摘要:解法目的就是把一個數(shù)組中所有為的數(shù)移動到數(shù)組的尾部,并保證其他元素相對位置不變。要求是在原數(shù)組上修改,不要額外引入其他的數(shù)組盡量減少操作次數(shù)。在小游戲中,設置了和界面一致的二維數(shù)組,數(shù)組的每一位記錄了一個數(shù)字。 地址:https://leetcode.com/problems/move-zeroes/ 應用場景說明 這個題是很Easy的一道題,它的應用場景是在我嘗試寫小游戲2048時,...

    ckllj 評論0 收藏0
  • 前端該如何準備數(shù)據(jù)結構和算法?

    摘要:很多前端同學在看到數(shù)據(jù)結構和算法后會有一定的抵觸心理,或者嘗試去練習,但是被難倒,從而放棄。本文選擇的數(shù)據(jù)結構和算法的類別均是出現(xiàn)頻率最高,以及應用最廣的類別。面試這是非?,F(xiàn)實的一點,也是很多前端學習數(shù)據(jù)結構和算法的原因。 一、導讀 據(jù)我了解,前端程序員有相當一部分對數(shù)據(jù)結構和算法的基礎概念都不是很清晰,這直接導致很多人在看到有關這部分的內容就會望而卻步。 實際上,當你了解了數(shù)據(jù)結構和...

    simon_chen 評論0 收藏0
  • 為什么你學不會遞歸?刷題幾個月,告別遞歸,談談我經(jīng)驗

    摘要:第一遞歸函數(shù)功能假設的功能是求第項的值,代碼如下找出遞歸結束的條件顯然,當或者我們可以輕易著知道結果。定義遞歸函數(shù)功能假設函數(shù)的功能是反轉但鏈表,其中表示鏈表的頭節(jié)點。可能很多人在大一的時候,就已經(jīng)接觸了遞歸了,不過,我敢保證很多人初學者剛開始接觸遞歸的時候,是一臉懵逼的,我當初也是,給我的感覺就是,遞歸太神奇了! 可能也有一大部分人知道遞歸,也能看的懂遞歸,但在實際做題過程中,卻不知道怎么...

    Achilles 評論0 收藏0
  • 前端開發(fā)學習-網(wǎng)址記錄

    摘要:不是一下子能看完綜合使用編程是一番怎樣的體驗學習筆記網(wǎng)站前端開發(fā)基礎算法題如何優(yōu)雅地使用如何優(yōu)雅地使用零度博客碼農網(wǎng)伯樂在線什么是頁面渲染國外先更到這,還有太多網(wǎng)址,先歸類一下再補充。 最近在復習JavaScript知識時遇到以前就不懂的閉包、上下文,雖然比以前理解深了一點,但還是懵,想緩一下。。就去看了其他。。把Git、Grunt、Gulp、jQuery、jQuery UI、Reac...

    CatalpaFlat 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<