leetcode做題記錄0050

2021-10-04 20:02:18 字數 1056 閱讀 5668

只是為了記錄一下,不求多快,也不深究。

會簡要描述思路,**中不寫注釋。

如碰到不會做的用了別人**會在部落格中標出。

直接乙個乙個乘的話會超時,試過了。

這題有點像數學題。

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...