首先,如何判斷乙個數是否為素數呢,首先我們知道最小的素數是2,那麼我們從2開始判斷該數是否能找到被除數即可,完整**如下:
public
boolean
isprimenum
(int i)
return
true
;}
思路:統計所有小於非負整數 n 的質數的數量。
那麼這一題我們需要對每個小於n的數進行判斷一次嗎?這種方法當然是可以,但是效率太低,這裡我們介紹一種簡單的方法,叫做厄拉多塞篩法,比如說求20以內質數的個數,首先0,1不是質數,2是第乙個質數,然後把20以內所有2的倍數劃去,2後面緊跟的數即為下乙個質數3,然後把3所有的倍數劃去,3後面緊跟的數即為下乙個質數5,再把5所有的倍數劃去,以此類推,剩下的就是質數啦(✿◕‿◕✿)。
public
intcountprimes
(int n)}}
return count;
}
力扣解題思路 打家劫舍
思路 題目 你是乙個專業的小偷,計畫偷竊沿街的房屋,每間房內都藏有一定的現金。這個地方所有的房屋都圍成一圈,這意味著第乙個房屋和最後乙個房屋是緊挨著的。同時,相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。給定乙個代表每個房屋存放金額的非負整數陣列,計算你在...
力扣解題思路 區間排序問題
思路 每次遇到和區間有關的題都要思考半天區間的排序方法,是根據區間左邊排序還是根據區間右邊排序呢?另外遇到這種題目如果採取貪心演算法最後的結果會不會是最優的呢?主要是因為研究生期間我的研究方向是強化學習演算法,其中用到的貪婪演算法容易陷入區域性最優,所以每次看到適合用貪婪演算法解題的題目時總會思考貪...
力扣解題思路 169 多數元素
思路 給定乙個大小為 n 的陣列,找到其中的多數元素。多數元素是指在陣列 現次數大於 n 2 的元素。你可以假設陣列是非空的,並且給定的陣列總是存在多數元素。首先最直觀的方法就是先排序,最中間那個數出現次數一定多於 n 2。public intmajorityelement int nums 這種方...