网易首页 > 网易号 > 正文 申请入驻

985、211研究生争相面试,却被一普通二本生逆袭,薪资仅6500元!

0
分享至

我刷到一条HR吐槽:下午连着面了一堆985、211研究生,岗位却是月薪6500的基础活儿,聊到最后,HR反手选了个普通二本。

评论区立马开锅。有网友说:学历是门面,活儿是地基,工资本来就不讲情分。

也有人替二本出头:“会干活就行,别拿学校当滤镜。”我觉得最真实的一句是:“大家不是想卷,是怕被生活按在工位上摩擦。”

我一个程序员看完只想叹气:HR选二本也不稀奇,能上手、沟通顺、稳定靠谱,有时候比“论文引用数”更值钱。你说疯狂吧,确实疯狂,毕竟6500也得交房租、吃饭、还花呗。

乘法表中第k小的数

那天有个小伙伴发我一句:东哥,乘法表里第 k 小的数你会不会?我当时正端着奶茶,差点一口喷键盘上——这不就是传说中的“看起来是小学数学,其实是进阶算法”的那种鬼东西嘛。

你先脑补一下哈,一个 m 行 n 列的乘法表,第 i 行第 j 列是 i * j ,就跟小学黑板上那个九九乘法表一样,只是放大版。面试官问你:第 k 小的是多少?很多人第一反应就是“老老实实全算一遍呗”,然后…内存爆炸,时间超时,人也麻了。

我一开始也是这么蠢搞的,写了个最直男版:

intkthBrute(int m, int n, int k){
List all = new ArrayList<>;
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= n; j++) {
all.add(i * j);
}
}
Collections.sort(all);
return all.get(k - 1);
}

这种写法在面试里顶多算“会写 for 循环”,离“会算发”还挺远。 mn 要是上到 3e4 这种级别,你 new 的这个 list 本身就能把你打回原形。

那怎么办?你会发现一个很有意思的点:对一个固定的 x,你能不能快速算出来“乘法表里 ≤ x 的数字有多少个”?如果能算,并且 x 越大这个数量就越大,那不就一个很标准的“答案上二分”模板么,对吧。

你看第 i 行是: i, 2i, 3i, ... , n*i 。在这一行里,小于等于 x 的个数,其实就是 min(n, x / i) 这么多(整除就行)。所以整张表里:

count(x) = sum_{i = 1..m} min(n, x / i)

这个 count(x) 是单调不减的,x 越大,<= x 的数只会更多不会少。那第 k 小的数就是“最小的那个 x,使得 count(x) >= k”。

这时候就该把二分刀拿出来磨一磨了。大概长这样:

// 在 m x n 的乘法表里,找第 k 小
publicintfindKthNumber(int m, int n, int k){
int left = 1;
int right = m * n;

while (left < right) {
int mid = left + (right - left) / 2;
if (countLessEqual(m, n, mid) >= k) {
// mid 已经够“多”了,答案在 mid 左边(含 mid)
right = mid;
} else {
// 还不够 k 个,说明要放大
left = mid + 1;
}
}
return left;
}

// 统计乘法表里 <= x 的数有多少个
privateintcountLessEqual(int m, int n, int x){
long cnt = 0;
for (int i = 1; i <= m; i++) {
// 这一行最多 n 个,再多也没有
int add = Math.min(n, x / i);
if (add == 0) {
// 后面行号更大,x/i 只会更小,可以直接 break
break;
}
cnt += add;
}
// 这里强转回 int 就行,调用方只拿来和 k 比较
return (int) cnt;
}

顺手说两句坑点,免得你在面试官面前当场表演翻车:

  1. right = m * n 这行,有人会纠结会不会溢出。一般题目给的范围不会故意卡你 int 溢出,但你要是强迫症,可以写成:

    int right = m * n; 


    面试里嘴上提一句“这里其实可以开到 long 更安全”,对面一般会点点头:嗯,这孩子细。

  2. countLessEqual 里我用了 long cnt ,因为 i 从 1 加到 m,单行最多 n 个, m * n 理论上上去以后是可以超过 int 的。虽然实际上 k 也不会大成那样,不过写 long 又不费电,多一层保险嘛。

  3. 循环里我加了一个小优化: add == 0 就 break。因为当 x 比 i 还小的时候,这一行就一个都没有,后面行 i+1, i+2…更大, x / i 只会变得更小,没必要再算下去,属于那种“写不写都能过,但写了好看一点”的微优化。

有时候我写这种二分,都喜欢打点 log 看一下收敛过程,特别治愈。你也可以像这样写个 main 自己跑一下小样例:

publicstaticvoidmain(String[] args){
Test t = new Test;
System.out.println(t.findKthNumber(3, 3, 5));
System.out.println(t.findKthNumber(2, 3, 6));
}

顺便吐槽一句,这种题跟很多框架“默认配置”一个德行:你要是傻乎乎暴力上,刚开始还以为挺顺滑的,数据一大立马给你一点颜色看看。之前我写 SpringBoot 默认配置踩坑的时候也是这个感觉,线上一压测,所有“没想清楚的地方”都会连本带利还回来。

最后一个小心态问题哈,很多同学一听“二分答案”就慌,其实你就记住一句话: 只要你能把“给定一个值 x,好不好”这个问题写成一个单调的布尔函数,就能套二分模板 。乘法表这个题, good(x) 就是 “表里 ≤ x 的数量是不是至少 k 个”,是不是挺自然的。

行了,差不多,就这样吧,我去续杯奶茶了,你可以把这段代码抄进 IDE 自己跑跑看,有 bug 再来抓我。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
雷军说未来每周或仅需工作3天,每天工作2小时,建议大家要用开放的心态,迎接更先进的时代

雷军说未来每周或仅需工作3天,每天工作2小时,建议大家要用开放的心态,迎接更先进的时代

潇湘晨报
2026-03-07 14:13:09
龙虎斗!津门虎VS铜梁龙首发:吴兴涵、谢蒂内先发,向余望、李镇全中超首秀

龙虎斗!津门虎VS铜梁龙首发:吴兴涵、谢蒂内先发,向余望、李镇全中超首秀

足球报
2026-03-07 14:34:40
政府工作报告里的民生温度

政府工作报告里的民生温度

新华社
2026-03-06 00:28:48
上海申花5-3大连英博,赛后评分:上海申花9号排第一

上海申花5-3大连英博,赛后评分:上海申花9号排第一

侧身凌空斩
2026-03-07 18:59:44
以为只是小毛病,一查竟是晚期!做完所有治疗,他还是永远离开了

以为只是小毛病,一查竟是晚期!做完所有治疗,他还是永远离开了

新时代的两性情感
2026-02-18 08:36:45
A股:紧急提醒2.5亿股民!从下周起,或许牛市历史总是惊人的相似

A股:紧急提醒2.5亿股民!从下周起,或许牛市历史总是惊人的相似

另子维爱读史
2026-03-07 19:02:07
村民挖地基引发塌方被埋只露出一个头,走亲戚男子与邻居刨土90分钟助脱困,获救者:未受伤,感谢施救者的善举

村民挖地基引发塌方被埋只露出一个头,走亲戚男子与邻居刨土90分钟助脱困,获救者:未受伤,感谢施救者的善举

极目新闻
2026-03-07 16:41:06
法国和浙江同为6000万人口,2025年法国创3万亿美元GDP,浙江呢?

法国和浙江同为6000万人口,2025年法国创3万亿美元GDP,浙江呢?

八斗小先生
2026-02-28 18:56:17
不是迷信!明日正月二十,白天7禁忌,晚上5注意,记得要告诉家人

不是迷信!明日正月二十,白天7禁忌,晚上5注意,记得要告诉家人

百变小厨坊VS龙儿美食
2026-03-07 09:00:54
A股:下周一稳了!央行放出“王炸”,这两个板块将直接起飞!

A股:下周一稳了!央行放出“王炸”,这两个板块将直接起飞!

另子维爱读史
2026-03-07 19:03:30
6个女儿,8口人,挤爆百平米出租屋?这对夫妇死磕巴黎:绝不回老家!

6个女儿,8口人,挤爆百平米出租屋?这对夫妇死磕巴黎:绝不回老家!

新欧洲
2026-03-06 20:29:12
伊朗总统最新发声,宣布重要消息

伊朗总统最新发声,宣布重要消息

新民周刊
2026-03-07 18:26:59
写入教科书的一天:F-35在德黑兰完成全球首次实战空对空击杀

写入教科书的一天:F-35在德黑兰完成全球首次实战空对空击杀

斌闻天下
2026-03-06 07:30:03
再读《穆斯林的葬礼》,对茅盾文学奖的信任崩塌了!

再读《穆斯林的葬礼》,对茅盾文学奖的信任崩塌了!

难得君
2026-03-06 13:43:16
人民日报怒批全国最清闲机关事业单位,基层员工看到名单直呼痛快

人民日报怒批全国最清闲机关事业单位,基层员工看到名单直呼痛快

三农老历
2026-03-07 15:21:33
滞留迪拜6天,7次航班取消,她咬牙买下54000元机票

滞留迪拜6天,7次航班取消,她咬牙买下54000元机票

中国新闻周刊
2026-03-07 19:23:03
随着火箭险胜,马刺25分大逆转,西部最新排名出炉!3-6名太疯狂

随着火箭险胜,马刺25分大逆转,西部最新排名出炉!3-6名太疯狂

现代小青青慕慕
2026-03-07 19:31:31
伊朗宣示不会与美国谈判,拉里贾尼:他们不可能打了伊朗就一走了之

伊朗宣示不会与美国谈判,拉里贾尼:他们不可能打了伊朗就一走了之

环球网资讯
2026-03-03 07:00:20
A股:下周一稳了!周末突发“王炸利好”,这几个板块将直接起飞

A股:下周一稳了!周末突发“王炸利好”,这几个板块将直接起飞

云鹏叙事
2026-03-07 13:05:04
一份“煮熟的三文鱼”火了,原来低认知的家长,真能搞出人命!

一份“煮熟的三文鱼”火了,原来低认知的家长,真能搞出人命!

妍妍教育日记
2026-03-07 08:45:06
2026-03-07 22:20:49
侃故事的阿庆
侃故事的阿庆
几分钟看完一部影视剧,诙谐幽默的娓娓道来
665文章数 7831关注度
往期回顾 全部

头条要闻

特朗普:伊朗今天将遭到极其猛烈的打击

头条要闻

特朗普:伊朗今天将遭到极其猛烈的打击

体育要闻

塔图姆298天走完这段路 只用27分钟征服这座城

娱乐要闻

田亮一家新年全家福!森碟变清纯少女

财经要闻

针对"不敢休、不让休"怪圈 国家出手了

科技要闻

OpenClaw爆火,六位"养虾人"自述与AI共生

汽车要闻

逃离ICU,上汽通用“止血”企稳

态度原创

本地
游戏
时尚
公开课
军事航空

本地新闻

食味印象|一口入魂!康乐烤肉串起千年丝路香

良性竞争比互黑重要!Arc玩家主动声援失落星船马拉松

这些才是适合普通人的穿搭!搭配腰带、多穿牛仔裤,简单舒适

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

美第三个航母打击群据称准备部署至中东

无障碍浏览 进入关怀版