241 為運算表示式設計優先順序

2021-10-02 21:25:54 字數 811 閱讀 2540

思路:分治法

不同位置新增括號的作用在於改變不同運算子的優先順序。

所以,可以在遍歷的過程中依次把運算子設為第一優先順序,遞迴計算左邊和右邊。

class

solution

:def

diffwaystocompute

(self,

input

:str)-

> list[

int]:if

input

.isdigit():

# 全數字

return

[int

(input)]

ans =

for i, val in

enumerate

(input):

if val in

: left = self.diffwaystocompute(

input

[:i]

)# 可能是列表

241 為運算表示式設計優先順序

給定乙個含有數字和運算子的字串,為表示式新增括號,改變其運算優先順序以求出不同的結果。你需要給出所有可能的組合的結果。有效的運算符號包含 以及 示例 1 輸入 2 1 1 輸出 0,2 解釋 2 1 1 0 2 1 1 2 示例 2 輸入 23 45 輸出 34,14,10,10,10 解釋 2 3...

241 為運算表示式設計優先順序

題目描述 給定乙個含有數字和運算子的字串,為表示式新增括號,改變其運算優先順序以求出不同的結果。你需要給出所有可能的組合的結果。有效的運算符號包含 以及 解題思路一 對於每乙個運算符號,先執行兩邊的表示式,然後再處理當前這個符號,採用分治的思想,如下 class solution def diffw...

241 為運算表示式設計優先順序(分治)

給定乙個含有數字和運算子的字串,為表示式新增括號,改變其運算優先順序以求出不同的結果。你需要給出所有可能的組合的結果。有效的運算符號包含 以及 看到題就覺得有點複雜,可以考慮一下遞迴的方式,去尋找子問題和原問題解的關係。可以通過運算子把整個式子分成兩部分,兩部分再利用遞迴解決。以 2 3 4 5 為...