国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

leetcode-236-Ugly Number

2019-11-08 02:31:48
字體:
來源:轉載
供稿:網友

問題

題目:[leetcode-236]

思路

素數篩法的思路。但是第一遍TLE。 仔細想了下,這個兩邊循環的代碼時間是沒有問題的,因為之前的帖子也學習了。不是完全的O(N2)的復雜度。

所以,考慮整數的最大值2147483647。500002>INTMAX。 所以,我猜測可能是輔助空間開大了。因為之前看的和num一樣大,那么當num給INT_MAX的時候,時間就上去了。這么分析之后,修改了代碼,正確。

所以,改bug是件很重要的事情。根據錯誤,快速定位,猜測可能出現錯誤的地方,進行修改就行。原則,只要有一絲希望,就要去嘗試。

兩個注意點:

輔助空間大小的開辟(n√)大素因子的判斷(只能有一個大于n√的因子),對本體來說,只要出現返回false.

代碼

class Solution {public: bool isUgly(int num) { if(1==num) return true; else if(num < 1) return false; else{ const int maxn = 50000; vector<int> PRime_table; vector<bool> marker(maxn+1, 0); for(int i = 2; i <=maxn; ++i){ if(marker[i]) continue; else{ prime_table.push_back(i); for(int j = i*2; j <= maxn; j += i){ marker[j] = true; } } } int prime_cnt = prime_table.size(); int index = 0; while( num != 1 && index < prime_cnt ){ int& prime = prime_table[index]; while( num != 1 && num % prime == 0 ){ num /= prime; if(prime>5) return false; } index++; } if(num != 1) return false; else return true; } }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成武县| 清流县| 临汾市| 镇原县| 双峰县| 卢湾区| 海林市| 昔阳县| 馆陶县| 榆林市| 广南县| 襄樊市| 虹口区| 西峡县| 盐山县| 易门县| 沭阳县| 乐至县| 卫辉市| 山丹县| 宜春市| 永善县| 黔西| 双辽市| 湘阴县| 毕节市| 太保市| 青川县| 乌鲁木齐市| 怀柔区| 清原| 凤翔县| 德保县| 缙云县| 和林格尔县| 如皋市| 潮安县| 宜兰市| 高平市| 蚌埠市| 宜兴市|