外包员工上班玩游戏,被当场辞退了。。
外包员工上班玩游戏被辞退,网友:真是我fk!**
说实话,我干程序员这些年,见过不少奇葩事,但这种在工位上玩游戏还被抓现行的,真是让人忍不住想扶额叹气。
有网友分享了他的遭遇:公司里外包同事上班时间公然掏出手机,打得不亦乐乎,仿佛自己身在电竞赛场。结果领导刚好路过,当场就发飙了:“你这么闲?工作量是不是太少?”然后直接甩了辞退通知,连后悔的机会都不给。
最惨的是,项目正忙得不可开交,领导还顺势削减了人手,项目组的其他人瞬间从“累”进化到了“超负荷”。👊
说实话,外包员工边上班边玩游戏这种操作,属实有点“艺高人胆大”,但被辞退后连累整个团队,这就更离谱了。
咱程序员这行,干活本来就靠脑力和时间换效率,这种时候再多背一份锅,内心都写满了“我命苦我先顶”。
但话说回来,偶尔摸鱼谁没干过呢?只不过这位同事把“摸鱼”变成了“跃龙门”,可惜跳太高,直接摔了个大跟头。【备注:文末可领最新资料】
算法题:子域名访问计数
今天刷到一道挺有意思的算法题:子域名访问计数。
一看这题目,我脑子里第一个反应是:这不就是拆分字符串、统计次数嘛。作为一名经常被前端同事调侃“你写算法的样子像在搬砖”的后端,这种题目看着简单,实际写的时候还是有不少坑可以踩的。
题目要求是:给定一个包含访问次数和对应子域名的列表,比如 ["9001 discuss.leetcode.com"],你需要统计每个子域名及其所有上级域名的访问次数,输出结果类似于:
["9001 discuss.leetcode.com", "9001 leetcode.com", "9001 com"]
拆解思路:
我觉得这题的核心有两步:
拆分子域名: 把 discuss.leetcode.com拆成discuss.leetcode.com、leetcode.com和com。统计访问次数: 用一个字典存储每个域名的访问次数,最终输出结果。
听起来简单吧?但是实现的时候就会发现,拆分域名和统计这两步如果处理得不够细致,代码会变得又长又乱。所以我写了一段简单优雅的 Python 代码,来,直接上代码:
from collections import defaultdictdef subdomain_visits(cpdomains):
counts = defaultdict(int)
for entry in cpdomains:
count, domain = entry.split() # 分离次数和域名
count = int(count)
fragments = domain.split('.') # 拆分子域名
# 拼接子域名并统计访问次数
for i in range(len(fragments)):
subdomain = '.'.join(fragments[i:])
counts[subdomain] += count
# 组装结果
return [f"{count} {domain}" for domain, count in counts.items()]
# 测试一下
cpdomains = ["9001 discuss.leetcode.com", "50 yahoo.com", "1 intel.mail.com", "5 wiki.org"]
result = subdomain_visits(cpdomains)
print(result)
代码解析:
defaultdict用于简化计数逻辑,每次遇到新域名直接初始化为 0,然后加上当前的计数。.split()方法是整个逻辑的关键,用它先拆分cpdomains的次数和域名,再对域名用.继续拆分,生成各级子域名。'.'.join(fragments[i:])这个操作看着简单,但实际上相当巧妙。通过调整索引i,能快速生成从当前级别开始的所有子域名。
结果生成部分就是最后一行,用列表推导式一气呵成。这段代码的时间复杂度是 O(N),其中 N 是所有子域名片段的总长度,空间复杂度是 O(K),K 是不同子域名的数量。
踩坑提醒:
数据格式不正确怎么办? 有时候面试官喜欢在测试用例里夹带“私货”,比如
["-1 bad.domain"]或者直接丢个空字符串。这种情况下,实际代码需要额外做数据验证,简单加一行:if not entry or ' ' not in entry:
continue效率问题: 这题的解法算是暴力统计了,如果子域名的数量特别多,比如百万级别,可以考虑用 Trie 树优化统计,但题目一般不会这么变态(如果真有,建议换个公司试试🤣)。
好了,这就是今天的分享。希望大家看完这道题之后,再遇到类似的字符串处理问题,能从容应对,不至于再熬夜加班写代码啦!🧑💻
对编程、职场感兴趣的同学,大家可以联系我微信:golang404,拉你进入“程序员交流群”。
虎哥作为一名老码农,整理了全网最全《python高级架构师资料合集》。