1. 程式人生 > >4 the result of investment

4 the result of investment

陣列funds,公司ABC初市值為a b c,每次對當前市值最低公司投資funds的數值,返回最後ABC
最基本的方式是每次都進行比較,找最小值然後加funds(i),但我的程式竟然跑不起來,而且我現在還找不到原因,放上來打自己臉:

class Solution: 
    def getAns(self, funds, a, b, c):
        # Write your code here
         A = a
         B = b 
         C = c
        for i in funds:
            
            if A<=B&A<=C:
                A+=i
            elif B<=C&B<A:
                B+=i 
            elif C<A&C<B:
                C+=i
        return A,B,C
           

然後是腦子轉過來的修改後版本

class Solution: 
    def getAns(self, funds, a, b, c):
        # Write your code here
        A = a
        B = b 
        C = c
        for i in funds:
            
            if A<=B and A<=C:
                A = A + i
            elif B<=C and B<A:
                B = B + i 
            elif C<A and C<B:
                C = C + i
            
        return A,B,C

哈哈哈哈我竟然在迴圈賦值
然後python沒有‘&’。。。
其實最開始實現是想用稍微不那麼低階的min函式,結果一直想對min函式的運算結果賦值…當然沒有結果了
不過也是因為有盲點,一是不知道對dict的操作可以通過key和value在items中進行分別比較,二是多引數的for迴圈還沒理解好,這裡是最簡單的多變數for迴圈

dic = {'A':1,'B':2,'C':3}
for i,j in dic.items():
	#print(i)
	print(j)

而且思維僵化,if value = min(),dict[key] += i就是正確的對min函式結果操作方式了