題目沒截圖,口述大概吧。
給定乙個表示式,和乙個陣列,表示式中有n個缺失,在陣列中選擇n個分別填入缺失中,使得等式成立。
例子:3_*2=_2
1 3 6 8
輸出:31*2=62
選出的數不能重複,並且n不確定。
這個題目用python做是非常簡單的,因為python有eval方法來計算表示式的值。這個題首先是乙個深度優先搜尋演算法,可以用遞迴或者棧來做,遞迴的話就更簡單了。
直接給**:
1defsearch(exp, nums):2if
'_'not
in exp or nums is
none:
3 exps = exp.split('='
)4if eval(exps[0]) == float(exps[1]):
5print exps[0]+'
='+exps[1]
6return
7else:8
for num in
nums:
9 e = exp.replace('
_', num, 1)
10 ns =nums[:]
11ns.remove(num)
12search(e, ns)
1314
15if
__name__ == '
__main__':
16 exp =raw_input()
17 nums = raw_input().split('')
18 search(exp, nums)
遞迴的終止條件是表示式中不包含"_"符號,如果不包含,使用eval計算表示式左邊的值,和右邊進行比較,相等則輸出。
如果表示式中還包含"_"符號,則遍歷待選數字,替換掉表示式中的第乙個"_"符號,接著去掉待選數字繼續遞迴即可。
阿里基礎面試題
前面的話 分享幾題阿里的基礎面試題,題目來自小柒看的一場直播課上的。解析 1 下面的 輸出結果 var test function a function a,b 1 2 console.log test 4 解析 最後console.log test 4 4傳給上面的引數b,最後結果 1 4 5。2...
阿里面試題
1 請寫出以下 執行結果。var x 1,y 0,z 0 function add x y add x function add x z add x x 1 y 4 z 42 請寫出以下 執行結果。var num 1 var myobject console.log this.num sub fun...
程式設計面試題
1.自定義乙個分頁函式,傳參當前頁數 總頁數,輸出以下 1.34567.10 123456.10 1 showpage是掐頭去尾的顯示數量 2 這個函式的重點就在於起始值和結束值的運算 3function page currentpage,totalpages,showpage 5 412 13 p...