需求分析:
0 肯定不是2的整數次冪能不斷被2整除直到商1且餘數為0的肯定是2的整數次冪
比如: 8 %2 = 0 8 / 2 = 4
4 % 2 = 0 4/2 = 2
2%2 = 0 2/2 = 1
9 % 2 = 1 9 / 2 = 4.5
迴圈到最後商1 且沒有餘數 肯定是2的整數次冪,否則不是
function istwopower(n)
let devicenumer = n;
while(devicenumber !== 1)
devicenumber = devicenumber / 2
} return true
}
最後,上面這個函式的時間複雜度為 o (logn) 2019 11 27 演算法學習記錄 猜數字
小a 和 小b 在玩猜數字。小b 每次從 1,2,3 中隨機選擇乙個,小a 每次也從 1,2,3 中選擇乙個猜。他們一共進行三次這個遊戲,請返回 小a 猜對了幾次?輸入的guess陣列為 小a 每次的猜測,answer陣列為 小b 每次的選擇。guess和answer的長度都等於3。示例 1 輸入 ...
演算法學習記錄
排序演算法複雜度 層序遍歷 雙端佇列 演算法流程 特例處理 當樹的根節點為空,則直接返回空列表 初始化 列印結果空列表 res 包含根節點的雙端佇列 queue bfs 迴圈 當 queue 為空時跳出 新建列表 temp 用於臨時儲存當前層列印結果 當前層列印迴圈 迴圈次數為當前層節點數 即 qu...
演算法學習03 桶排序
首先遍歷陣列,找到最大值與最小值,設定乙個長度為最大值 最小值 1的陣列,再次遍歷這個陣列,以當前值 最小值作為下標,將該下標的計數器增1。掃瞄一遍計數器陣列,按順序將值收集起來。舉個例子 nums 2,4,3,4,7 遍歷一次陣列,找到陣列元素的最小值與最大值分別為2和7,那麼我們設定乙個長度為7...