我的js算法爬坑之旅- 计数质数

86 阅读1分钟

第五十七天:力扣第204题,计数质数

地址:leetcode-cn.com/problems/co…

思路: 厄拉多塞筛法,质数的倍数都不是质数,从2到n,假定所有数都是质数即可。

var countPrimes = function(n) {
  var res = new Array(n).fill(false);
  var a = 0;
  for(let i = 2; i < n; i++)
  {
    if(!res[i])
    {
      a++;
      for(let j = i*i;j<n;j+=i)
      {
        res[j] = true;
      }
    }
  }
  return a;
};

执行用时:132 ms, 在所有 JavaScript 提交中击败了78.32%的用户

内存消耗:50.3 MB, 在所有 JavaScript 提交中击败了47.58%的用户