【发布时间】:2022-06-27 01:23:08
【问题描述】:
Link to the problem 简而言之:N 是一个整数,表示计数器的数量和允许的最大计数器。 A 是一个数组,表示在特定计数器上完成的操作(例如,如果 A[0] 为 1,N 为 3,我们需要将 1 加到 'counters' 数组[0])如果 A 中的元素为 N+1,计数器中的所有元素都应更改为计数器数组中的最大数字。 我提交了自己编写的代码,但性能只有 60%,这是为什么呢?下次我应该以什么方式解决问题以提高效率?我该如何改进?
function solution(N,A){
let counters = Array(N).fill(0);
let maxCounter = 0;
for(i=0;i<A.length;i++){
if(A[i]<=N){
counters[A[i]-1]++
if(counters[A[i]-1]>maxCounter){maxCounter = counters[A[i]-1]};
}
else if(A[i]===N+1){
counters = Array(N).fill(maxCounter)
}
}
return counters
}
编辑:我不知道这个网站不是针对代码改进的问题,谢谢,我会在其他地方问。
【问题讨论】:
-
这更适合在 reddit 上发帖,stackoverflow 并不是真正适合这类问题的(至少我不这么认为)
-
我们修复了损坏的代码,如果您有想要改进的工作代码,您需要转到Code Review。
标签: javascript