左神演算法學習日記 計算表示式結果

2021-09-21 13:24:47 字數 654 閱讀 5256

寫**過程中應該把**意義寫出來,理清思路,發現邊界條件。 

void calelem(deque& que,int pre)//這個部分一直出錯,因為沒有考慮清楚pre是第乙個字元和之前字元是加減號時該怎麼處理,這時應該直接放入佇列

} que.push_back(to_string(pre));//如果pre是第乙個數字或之前的字元是加減號則將數字直接放入佇列,如果是乘除號則將計算結果放入佇列

}int getsum(deque& que)

else

res = atoi(cur.c_str());

} return res;

}std::unique_ptrgetres(string s, int i)

else//如果遇到左括號,則計算括號內的結果,利用了遞迴的方式,因為子步驟都一樣

}que.push_back(to_string(pre));//迴圈結束,將pre放入佇列

std::unique_ptra(new int[2]);//不能使用區域性陣列,返回後該陣列將被釋放掉

res[0] = getsum(que);

res[1] = i + 1 ;//進行剩餘的加減運算,並返回結果,和當前的位置。

return a;

}

左神演算法學習日記 堆(一)

一直覺得赫夫曼樹沒什麼diao用,沒想到這道題可以用赫夫曼樹,而且用小根堆可以實現赫夫曼樹,學到好多。題目二一塊金條切成兩半,是需要花費和長度數值一樣的銅板的。比如長度為20的金條,不管切成長度多大的兩半,都要花費20個銅板。一群人想整分整塊金條,怎麼分最省銅板?例如,給定陣列,代表一共三個人,整塊...

左神演算法學習日記 堆(二)

include include include include include include include includeusing namespace std class project project const project p push進堆時用到了拷貝建構函式,雖然不寫也無所謂 pro...

左神演算法學習日記 樹dp

樹dp問題只需要考慮每個結點的所有孩子的情況就可以解決 class node node class treeinf void creat node node if r 獲得子樹中結點最多的搜尋二叉樹的結點個數 treeinf getmaxnode node node treeinf leftinf ...