国产探花免费观看_亚洲丰满少妇自慰呻吟_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; } }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涞水县| 通许县| 孝义市| 阳山县| 游戏| 东乌珠穆沁旗| 洮南市| 宽甸| 河东区| 铜山县| 江西省| 额敏县| 马尔康县| 大渡口区| 宾阳县| 宝兴县| 安丘市| 依安县| 隆昌县| 阿拉善右旗| 新巴尔虎左旗| 囊谦县| 临安市| 阳新县| 汕尾市| 巴彦淖尔市| 色达县| 英超| 武威市| 怀集县| 永川市| 肃宁县| 都昌县| 景东| 孟州市| 温宿县| 阿克陶县| 姜堰市| 龙井市| 安吉县| 临桂县|