只是為了記錄一下,不求多快,也不深究。
會簡要描述思路,**中不寫注釋。
如碰到不會做的用了別人**會在部落格中標出。
直接乙個乙個乘的話會超時,試過了。
這題有點像數學題。
3
193^
319可以這樣做:
3 19=
324+
21+2
0=32
4⋅32
1⋅32
03^ = 3^ = 3^\cdot 3^\cdot 3^
319=32
4+21
+20=
324⋅
321⋅
320所以我們可以把n換成二進位制來做:string binary = integer.tobinarystring(n);
。
從最低位開始向前遍歷二進位制字串,在『1』的位數上不斷累乘即可。因為32m
=32m
−1⋅3
2m−1
3^ = 3^}\cdot 3^}
32m=32
m−1⋅
32m−
1所以可以迭代求下一項。
注意一下邊界條件。
class
solution
if(x ==0)
if(x ==1)
boolean isnegative =
false
;boolean ismin =
false;if
(n <0)
else
} string binary = integer.
tobinarystring
(n);
double res =1;
double base =1;
for(
int i = binary.
length()
-1; i >=
0; i--)}
if(isnegative)
}return res;
}}
leetcode做題記錄0010
只是為了記錄一下,不求多快,也不深究。會簡要描述思路,中不寫注釋。如碰到不會做的用了別人 會在部落格中標出。一碰到難度是困難的就不會做了。用動態規劃 dp i j 代表了s的前i個字元和p的前j個字元是否匹配,算上0的話,顯然dp的大小是 s.length 1 p.length 1 dp 0 0 兩...
leetcode做題記錄0014
只是為了記錄一下,不求多快,也不深究。會簡要描述思路,中不寫注釋。如碰到不會做的用了別人 會在部落格中標出。第一遍提交擊敗37 的使用者,一模一樣的 又提交了一遍,擊敗82 的使用者。所以這個到底有啥意義。陣列長度為0或1直接return。寫乙個方法判斷所有字串第num個字元是否相同。找到陣列裡最短...
leetcode做題記錄0061
只是為了記錄一下,不求多快,也不深究。會簡要描述思路,中不寫注釋。如碰到不會做的用了別人 會在部落格中標出。先把整個鍊錶變成迴圈鍊錶,同時計算鍊錶長度。算一下應該移動多少步,即len k len.移一下即可。definition for singly linked list.public class...