成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

[Leetcode] Count Primes 數(shù)素?cái)?shù)

Achilles / 1806人閱讀

摘要:利用這個(gè)性質(zhì),我們可以建立一個(gè)素?cái)?shù)數(shù)組,從開始將素?cái)?shù)的倍數(shù)都標(biāo)注為不是素?cái)?shù)。第一輪將等表為非素?cái)?shù),然后遍歷到,發(fā)現(xiàn)沒有被標(biāo)記為非素?cái)?shù),則將等標(biāo)記為非素?cái)?shù),一直到為止,再數(shù)一遍素?cái)?shù)數(shù)組中有多少素?cái)?shù)。代碼將的倍倍倍都標(biāo)記為非素?cái)?shù)

Count Primes

Description:

Count the number of prime numbers less than a non-negative number, n.

埃拉托斯特尼篩法 Sieve of Eratosthenes 復(fù)雜度

時(shí)間 O(NloglogN) 空間 O(N)

思路

如果一個(gè)數(shù)是另一個(gè)數(shù)的倍數(shù),那這個(gè)數(shù)肯定不是素?cái)?shù)。利用這個(gè)性質(zhì),我們可以建立一個(gè)素?cái)?shù)數(shù)組,從2開始將素?cái)?shù)的倍數(shù)都標(biāo)注為不是素?cái)?shù)。第一輪將4、6、8等表為非素?cái)?shù),然后遍歷到3,發(fā)現(xiàn)3沒有被標(biāo)記為非素?cái)?shù),則將6、9、12等標(biāo)記為非素?cái)?shù),一直到N為止,再數(shù)一遍素?cái)?shù)數(shù)組中有多少素?cái)?shù)。

代碼
public class Solution {
    public int countPrimes(int n) {
        boolean[] prime = new boolean[n];
        Arrays.fill(prime, true);
        for(int i = 2; i < n; i++){
            if(prime[i]){
                // 將i的2倍、3倍、4倍...都標(biāo)記為非素?cái)?shù)
                for(int j = i * 2; j < n; j =  j + i){
                    prime[j] = false;
                }
            }
        }
        int count = 0;
        for(int i = 2; i < n; i++){
            if(prime[i]) count++;
        }
        return count;
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/64499.html

相關(guān)文章

  • 204. Count Primes

    摘要:題目鏈接思路首先要知道如何判斷一個(gè)數(shù)字是否為素?cái)?shù)。具體方法可以看這里其次,如果樸素的判斷,那么會(huì)因?yàn)樾实紫露瑫r(shí)。所以在我們每次找到素?cái)?shù)的時(shí)候,可以把素?cái)?shù)的倍數(shù)都標(biāo)記為非素?cái)?shù)。這樣可以節(jié)省輪詢的時(shí)間。算法復(fù)雜度時(shí)間空間代碼 題目鏈接:Counting Primes 思路:首先要知道如何判斷一個(gè)數(shù)字是否為素?cái)?shù)。具體方法可以看這里 其次,如果樸素的判斷,那么會(huì)因?yàn)樾实紫露瑫r(shí)。所以在我...

    王笑朝 評(píng)論0 收藏0
  • 線性素數(shù)篩選(linear sieve for prime number)

    摘要:轉(zhuǎn)載到其他平臺(tái)前也請(qǐng)通知我。算法分析由于我們每次尋找的素?cái)?shù)時(shí),都從開始,逐漸上除,最后到為止,確認(rèn)是否是素?cái)?shù)。接著繼續(xù)排除其有關(guān)合數(shù)。在速度上有略微提升,但是它的算法是主動(dòng)忽略的相關(guān)合數(shù),實(shí)際意義并不是很大。 偶然發(fā)現(xiàn)了這個(gè)和stackoverflow很像的地方。打算寫些專欄,一方面,記錄自己學(xué)到的東西。另一方面,也把這些分享給大家。無論是內(nèi)容錯(cuò)誤還是解釋方式不好,都?xì)g迎各位拍磚。轉(zhuǎn)載...

    biaoxiaoduan 評(píng)論0 收藏0
  • [LeetCode] 204. Count Primes

    Problem Count the number of prime numbers less than a non-negative number, n. Example: Input: 10Output: 4Explanation: There are 4 prime numbers less than 10, they are 2, 3, 5, 7. Solution class Solut...

    cheukyin 評(píng)論0 收藏0
  • [LeetCode] Count Primes

    摘要:用數(shù)組標(biāo)記非質(zhì)數(shù),每當(dāng)出現(xiàn)一個(gè)為,計(jì)數(shù)器加一。關(guān)于質(zhì)數(shù)有三點(diǎn)大于的質(zhì)數(shù)一定是奇數(shù),如,,奇數(shù)中的非質(zhì)數(shù)也一定是奇數(shù)的乘積。首先,我們用從到進(jìn)行標(biāo)記。標(biāo)記完所有的合數(shù)之后,再用到之間的遍歷,所有未被標(biāo)記的質(zhì)數(shù)。 Problem Count the number of prime numbers less than a non-negative number, n. Note 用數(shù)組fla...

    Shisui 評(píng)論0 收藏0
  • [LintCode/LeetCode] Super Ugly Number

    摘要:建兩個(gè)新數(shù)組,一個(gè)存數(shù),一個(gè)存。數(shù)組中所有元素初值都是。實(shí)現(xiàn)的過程是,一個(gè)循環(huán)里包含兩個(gè)子循環(huán)。兩個(gè)子循環(huán)的作用分別是,遍歷數(shù)組與相乘找到最小乘積存入再遍歷一次數(shù)組與的乘積,結(jié)果與相同的,就將加,即跳過這個(gè)結(jié)果相同結(jié)果只存一次。 Problem Write a program to find the nth super ugly number. Super ugly numbers a...

    wuyumin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<