如何解决如何提高JavaScript代码的执行速度
我是JS新手,所以有几个问题。
- 在JS中,我们如何计算代码/代码块的内存消耗以及哪个块花费时间。任何文章/博客都会有很大帮助。
- 以下代码成功执行,但超过了执行时间。我如何减少代码的执行时间。任何提示都会有所帮助。
问题陈述:给定范围L到T。找到所有数字都是K的倍数的数字。
代码输入:
第一行包含测试用例的数量。
下一行包含整数。 (L T K)
5
5 10 5
20 40 2
300 600 3
process.stdin.resume();
process.stdin.setEncoding("utf-8");
var stdin_input = "";
process.stdin.on("data",function (input) {
stdin_input += input; // Reading input from STDIN
});
process.stdin.on("end",function () {
main(stdin_input);
});
function main(input) {
// process.stdout.write("Hi," + input + ".\n"); // Writing output to STDOUT
input = input.split('\n');
// console.log(input);
let T = parseInt(input[0])+1;
for(var i=1;i<T;i++){
let d=input[i].split(' ');
calc(parseInt( d[0]),parseInt( d[1]),parseInt( d[2]));
}
}
function calc(T,L,k){
ar=[];
for(let i = T;i<=L;i++){
if((i>0 && i<10)&& (i%k==0) ){
ar.push(i);
} else {
splitNumber(i,k) ? ar.push(i):'';
}
}
console.log(ar.length);
}
function splitNumber(num,k)
{
let bool=false;
num= splitToDigit(num);
for(let i =0;i<num.length;i++){
if(num[i]%k == 0 ){
bool=true;
} else{ return false; }
}
return bool;
}
function splitToDigit(n){
return [...n + ''].map(Number);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。