東方財富 2020 春季校園招聘後端開發在線筆試【Python】【C++】【字符串】【動態規劃】
str1 和 str2 組合以後變成 str3,可是相對順序不能改變。python
示例:ios
輸入:abc defg adebfcg 輸出:TRUE
字符串編程
直接單獨判斷是否在 str3 中。 考試的時候由於不太清楚 Python 怎麼直接把輸入的一長串字符串根據空格分割成三個字符串,因此這題並無作出來。 後來改用 C++ 寫了下,仍是有問題。因此代碼不肯定對。
def JudgeString(str:str) -> bool: new_list = str.split(' ') str1 = list(new_list[0]) # print(str1) str2 = list(new_list[1]) # print(str2) str3 = list(new_list[2]) # print(str3) m, n, length = len(str1), len(str2), len(str3) if m + n != length: print("FALSE") return for i in str1: if i in str3: str3.remove(i) else: print("FALSE") return for i in str2: if i in str3: str3.remove(i) else: print("FALSE") return print("TRUE") return if __name__ == "__main__": # str1 = "aabcc" # str2 = "dbbca" # str3 = "aadbbcbcac" str = input() # str2 = input() # str3 = input() JudgeString(str)
動態規劃後端
參考 LeetCode 0123: https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-iii/ 如出一轍的題目,昨天剛作過,上面那道苦於 Python 的輸入格式,因此這題改用 C++ 寫了下代碼,過了。
具體分析能夠參考個人這篇博客:LeetCode | 0123. Best Time to Buy and Sell Stock III買賣股票的最佳時機 III【Python】設計模式
空間複雜度: O(1)函數
#include<cstdio> #include<cstring> #include<iostream> #include<cmath> using namespace std; int main(){ int n; cin >> n; int prices[101]; for(int i = 0; i < n; ++i){ cin >> prices[i]; } int dp_i_1_0 = 0; int dp_i_2_0 = 0; int dp_i_1_1 = -0x7fffff; int dp_i_2_1 = -0x7fffff; //int dp_i_0_0 = 0; //int dp_i_0_1 = 0; for(int i = 0; i < n; ++i){ dp_i_2_0 = max(dp_i_2_0, dp_i_2_1 + prices[i]); dp_i_2_1 = max(dp_i_2_1, dp_i_1_0 - prices[i]); dp_i_1_0 = max(dp_i_1_0, dp_i_1_1 + prices[i]); dp_i_1_1 = max(dp_i_1_1, -prices[i]); } cout << dp_i_2_0; return 0; }
仍是習慣 LeetCode
這種給定函數的輸入參數及類型、輸出參數類型,只需實現函數的功能,而不需在乎輸入格式。spa
最近都是用 Python
刷的 LeetCode
,今天 C/C++
寫起來感受生疏了不少。.net
前段時間在 拉勾
上投了幾家招 Python
的,簡歷都沒過,仍是要官網校招一個個申請容易經過啊,雖然填信息麻煩了一點。設計
比起前面幾場還沒怎麼準備筆試就參加了,結果可想而知,此次準備還行。code
LeetCode
還要繼續刷,但願早點收到 Dream Offer!