被裁后去了一家上市公司年薪 35w,现在老婆老是说我只想躺平了,不思进取。。
作为程序员太懂了,现在这个行情,能保住35w已经很不容易了,更别说是进了上市公司——你以为市场上的机会还是按2019年那个节奏来的?别闹了,行情变了,红利没了,工资自然也回调了。🫤
网友有的说老婆太现实,也有的说楼主确实没上进心。我觉得问题的根本是:你不能用“涨薪”去衡量一个人的进取心。现在的环境,活着就算赢了。能在风暴中站稳脚跟,比啥都难。【备注:文末可领最新资料】
面试题:股票的资本损益
上周在家,我妹突然跟我说她想炒股……我说你连“什么是买入卖出价”都搞不清楚,先别急着把钱扔进去。然后她问我一句让我愣住了:那你平时写的那些“算法”,能不能告诉我啥时候赚钱啥时候赔钱?
我说这可不是算命,这得一步一步讲,比如我们就先说一个最基础的——股票的资本损益,英文名叫 "Best Time to Buy and Sell Stock",这题在LeetCode上都火了十几年了,你可能不知道,但你用的基金、理财产品,背后可能都用过它的变种模型。
“低买高卖”听起来简单,其实怎么选点是个难题
这个问题其实特别贴近现实生活:给你一个数组,表示某只股票每天的价格,然后你只能买一次,卖一次,问你最多能赚多少钱。就是说你得找出某天买入、后面某天卖出的价格差最大值。
就像我妹那种,一天看到股票跌了觉得便宜,第二天涨了两块就想卖了……其实她可能错过了后面涨二十块的机会。所以你不能一买就急着卖,你得找到买得最便宜的一天,和之后卖得最贵的一天——还得保证买在前卖在后。
我记得我当年第一次刷这题的时候,傻乎乎地用了两层for循环,把所有可能的买入卖出组合都算一遍,那时间复杂度直接O(n^2),跑到一半我就觉得不对劲……像那种价格数组有一万天的,早就超时了。
后来才知道正确的姿势其实很朴素也很优雅:我们只需要一边走,一边维护两个值——一个是历史最低价,另一个是当前最大利润。
就像你去菜市场买菜,你看到现在土豆2块钱一斤,然后走着走着发现1.8了,你就记住这个1.8,再往后走发现又变3块,你就算:3 - 1.8 = 1.2,那就是你现在能赚的最多的钱。
代码也不多,我妹都能看懂(虽然她一开始以为min_price是今天最小份量的土豆):
defmaxProfit(prices):
min_price = float('inf')
max_profit = 0
for price in prices:
if price < min_price:
min_price = price # 找到更便宜的日子
elif price - min_price > max_profit:
max_profit = price - min_price # 当前能赚的最大利润
return max_profit
其实我还写了个调试版,方便我妹理解
因为她非说“你这个min_price我都没看到它动”,我就加了几个打印:
defmaxProfit(prices):
min_price = float('inf')
max_profit = 0
for i, price in enumerate(prices):
if price < min_price:
print(f"Day {i}: New min price found: {price}")
min_price = price
elif price - min_price > max_profit:
print(f"Day {i}: New profit found: sell at {price}, buy at {min_price}, profit = {price - min_price}")
max_profit = price - min_price
return max_profit
她一边看我运行一边在那边喊,“你看吧,我早说第三天买入第六天卖出最好了!”
最后她还问能不能买卖多次
我说哎你这思路对了,LeetCode还有个变体就是可以多次买卖,但不能同时持有多单。那个叫“Best Time to Buy and Sell Stock II”。你看你不懂代码但你生活中其实早就模拟过这些策略了。
所以啊,别小看这些算法题,表面上就是些数组操作,但背后都是生活。你说你想炒股,先搞懂这个算法再说,别到时候涨一点你就跑,跌一点你就砍。
然后我妹去厨房做饭了,留下我一个人在那边继续研究“加上手续费后怎么优化利润最大化”。这些算法题啊,真是越想越像生活……算了,不说了,我去看看今天港股怎么又跌了。
-END-
我为大家打造了一份RPA教程,完全免费:https://www.songshuhezi.com/rpa.html
虎哥作为一名老码农,整理了全网最全《python高级架构师资料合集》,总量高达650GB,点击下方公众号回复关键字 python 全部免费领