node编程求教,为什么总是通不过呢


var readline = require("readline");var rl  = readline.createInterface({
    input:process.stdin,
  output:process.stdout
});
var tokens = [];
var currentLine = 1;

function isIn(item, arr){
    var isIn = false;
    for(var i = 0;i<arr.length;i++){
        if(arr[i]===item){
            isIn = true;
            break;
        }
    }
    return isIn;
}

function order(value1, value2){
    return value1-value2;
}
rl.on("line",function(line){
          tokens.push(line);
    if(currentLine == 3){
            var firstLine = tokens[0];
            var secondLine = tokens[1];
            var thirdLine = tokens[2];
            var setOne = secondLine.split(" ").map(function(item,index,arr){
                return parseInt(item.trim());
            });
            var setTwo = thirdLine.split(" ").map(function(item,index,arr){
                return parseInt(item.trim());
            });
            var res = [].concat(setOne);
            for(var i=0; i<setTwo.length;i++){
                if(!isIn(setTwo[i],setOne)){
                    res.push(setTwo[i]);
                }
            }

            console.log(res.sort(order).join(" "));
    }else{
        currentLine++;
    }
});


全部评论
你的代码连案例都通不过啊 只能求一组结果 而他这个是要你输入好几组一次性求出来
点赞 回复 分享
发布于 2017-04-04 15:17
var readline = require("readline"); var rl = readline.createInterface({ input:process.stdin, output:process.stdout }); var dataLength = 3; // 一组数据的行数 function isIn(item, arr){ var isIn = false; for(var i = 0;i<arr.length;i++){ if(arr[i]===item){ isIn = true; break; } } return isIn; } function order(value1, value2){ return value1-value2; } var inputs = []; rl.on('line', function(data) { // 获取输入 inputs.push(data.trim()); }); rl.on("close",function(){ var res = ""; var groupLength = inputs.length/dataLength; for(var i=0;i<groupLength;i++){ var oneGroup =[]; for(var j=i*dataLength;j<dataLength*i+dataLength;j++){ oneGroup.push(inputs[j]); } if(i == groupLength-1){ res=res+handler(oneGroup); }else{ res = res+handler(oneGroup)+"\n"; } //console.log(res,"$$"); } console.log(res); }) /** * [deal description] * @param {[type]} inputs [description] * @return {[type]} [description] */ function handler(oneGroup) { var result = ''; var firstLine = oneGroup[0].trim(); var secondLine = oneGroup[1].trim(); var thirdLine = oneGroup[2].trim(); var setOne = secondLine.split(" ").map(function(item,index,arr){ return parseInt(item.trim()); }); var setTwo = thirdLine.split(" ").map(function(item,index,arr){ return parseInt(item.trim()); }); var res = [].concat(setOne); for(var i=0; i<setTwo.length;i++){ if(!isIn(setTwo[i],setOne)){ res.push(setTwo[i]); } } result = res.sort(order).join(" "); return result; }
点赞 回复 分享
发布于 2017-04-04 17:42
让我***
点赞 回复 分享
发布于 2017-04-04 18:04
有没有人知道怎么解啊
点赞 回复 分享
发布于 2017-04-04 18:05

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务