网易前端,今天的笔试题,第三题的数值好像很大啊,
一直报时间复杂度太大的问题,
process.stdin.resume(); process.stdin.setEncoding('ascii'); var input = ""; var input_array = ""; process.stdin.on('data', function(data){ input += data; }); process.stdin.on('end', function (){ input_array = input.split("\n"); var line_1 = input_array[0]; var arr = line_1.split(" "); var k = parseInt(arr[0]); console.log(func(k));//输出结果 }); function func(num){ var r = Math.floor(Math.sqrt(num))+1; var res = []; for(var i=0;i<r;i++){ var s = i*i; if(j <= num){ res.push(); } } var count = 0; for(var k=0;k<r;k++){ for(var l=0;l<r;l++){ if(res[k] + res[l] == num){ count++; } } } return 4*count; }不知道怎么解决,最后一半时间都在看这里,,,,好蛋疼#网易#