前字节员工:我同学30岁,带着100万回湖南某县城,以为能轻松躺平。结果,想创业竞争大,想兼职压根就没有,最后居然跑去送外卖了
刚刷到个贴子,说有个前字节员工的同学,30岁带着100万回湖南小县城,本来打算轻松躺平,结果创业卷不过人,兼职找不到,最后只能去送外卖 。
100万在北上广可能勉强算缓冲,但在小县城想“稳赢”,其实也很难。创业像写代码,光有启动资金不够,还得看赛道、需求、运营,就像写项目不光拼技术,还得拼团队和市场。
网友有说这是“眼高手低”,也有人觉得县城机会少。我觉得都对,但关键在于“价值输出”。就像我们写程序,能不能上线稳定跑,才是硬价值。如果你只想着躺平,钱迟早会烧光。
说到底,不管在哪个城市,核心还是要找到能持续创造价值的点。外卖骑手也没啥丢人的,至少能养活自己。但要想真正安稳下来,还是得不断学习和迭代自己 【备注:文末可领最新资料】
算法题:救生艇
昨晚十一点多,我在小区楼下等外卖,风有点大…脑子里突然就冒出来“救生艇”这题,哈哈,可能是饿糊涂了。你们知道吧,就是一堆人上船,每条船最多坐俩,且有个载重上限,问最少要几条船。小李还在群里问“东哥这是不是贪心?”我说别急,先把思路捋顺
给你一个 people 数组,里面是每个人体重;还有 limit,船的承重。每条船最多两个人。目标是船数尽量少。就这些,没坑…咳,其实有两个小坑,等等说
就是那个…先排序,从轻到重。为啥排?因为最重的人必须安排,不然卡着上限很难配对。然后用两个指针:i 指向最轻,j 指向最重。每次看 people[i] + people[j] 能不能一起上船:
能:那简直太香,省一条船位,i++,j-- 不能:最重的这个谁都带不动,只能自己单飞,j-- 每操作一次,都要+1条船。结束条件 i > j。对吧,很顺
import java.util.*;
publicclassBoatsToSavePeople{
publicintnumRescueBoats(int[] people, int limit){
Arrays.sort(people); // 升序
int i = 0, j = people.length - 1;
int boats = 0;
while (i <= j) {
// 最重的 j 必须走
if (people[i] + people[j] <= limit) {
i++; // 能带一个就带一个
}
j--; // 最重的这位上船了
boats++; // 开走一条
}
return boats;
}
// 简单跑个例子
publicstaticvoidmain(String[] args){
BoatsToSavePeople s = new BoatsToSavePeople();
System.out.println(s.numRescueBoats(newint[]{3,2,2,1}, 3)); // 3
System.out.println(s.numRescueBoats(newint[]{1,2}, 3)); // 1
}
}
排序 O(n log n),双指针一遍 O(n),总体 O(n log n)。空间除了排序原地,基本 O(1)。有人会说能不能 O(n) 不排序?极端情况下可以用计数法(体重范围小)…但面试别整花活,先把这个稳稳写对
1)等于上限能上,别写成 < limit,这个真的…我昨晚在电梯口还改了一次;2)i == j 只剩一个人,也要一条船;3)别想着一船坐三人,题目就不让,容易脑补超规格;4)数据里可能有特别重的,单人就等于 limit,别慌,照样单飞
想象电梯超载那个提示“叮”,最重的那位不进去,后面全堵着;所以先让最重的进,再尝试捎一个最轻的,能捎就赚到,不能就别犹豫…我现在有点饿,外卖到了,啊对,最后一句:这题贪心的正确性靠的是“最重的人每次都被消化”,全局最优就这么被局部推出来了。
-END-
我为大家打造了一份RPA教程,完全免费:songshuhezi.com/rpa.html