快速冪 迭代法和遞迴法 python實現

2021-10-24 04:41:29 字數 670 閱讀 4288

迭代法

def

quick_power

(x, n)

: res =

1while n >0:

# 如果冪為奇數, 把x記錄下來,儲存在res中

if n %2==

1:res *= x

# 如果冪為偶數 則不記錄,只是處理x, n

x *= x

n >>=1

return res

遞迴法:

def

quick_power

(x, n)

:# 特殊情況

if n ==0:

return

1# 遞迴過程的最後一層

if n ==1:

return x

# 如果冪的值為偶數, 則 不 進行記錄,傳給下一層

if n %2==

0:n >>=1

return quick_power(x**

2, n)

# 如果冪為奇數, 把x記錄下來,與下面所有層的返回值 相乘 傳給上一層

else

: n >>=1

return x * quick_power(x**

2, n)

子集 迭代法和遞迴法

給你乙個整數陣列nums,返回該陣列所有可能的子集 冪集 解集不能包含重複的子集。示例 1 輸入 nums 1,2,3 輸出 1 2 1,2 3 1,3 2,3 1,2,3 示例 2 輸入 nums 0 輸出 0 class solution ans.add new arraylist t retu...

求字串長度 迭代法和遞迴法)

咱們先來複習一下strlen函式 strlen 字元陣列 它是測試字串長度的函式,函式的值為字串中的實際長度 不包括 0 在內 例如 char str 10 china printf d strlen str 輸出的結果是5 也可以直接測試字串常量的長度,例如 strlen china includ...

一文讀懂鍊錶反轉(迭代法和遞迴法)

單向鍊錶反轉的方法有很多,其中用的比較多的是迭代法和遞迴法,迭代法通俗易懂,遞迴法相對來說比較難理解一些。單向鍊錶反轉圖示 一 迭代法 實現 import lombok.allargsconstructor import lombok.data data allargsconstructor pub...