自己工资12000,下家HR给15000,我说考虑下。结果她又加到18000,下午副总打电话说能给到20000,是骗子吗?
说到跳槽这事儿,咱们每个人心里都多多少少有点“疑心病”。
事情是这样的:有个网友,他的工资12000元,想跳槽,结果面试了一个新公司,HR先开出了15000元的工资。咱们程序员嘛,对这种情况自然不急不忙,说了句“考虑一下”。
可没过多久,HR直接又加到18000元,听到这儿,谁不心动?你可能觉得事情就这样结束了,但下午副总打了个电话,给了20000元的报价。
这种情况我想问问:这是真的好公司,还是别有用心的“骗子”呢?
其实,我觉得,很多公司在招聘的时候喜欢说“我们能给到多少”,这种话听着挺模糊的,完全没有实质性的承诺。
而我个人的经验是:真正靠谱的公司,发offer的时候,工资都是白纸黑字写明的,没有“能给到”,没有“看绩效”这种含糊不清的说法。
毕竟,咱们都是靠代码吃饭的,能看到的才是最真实的。
我觉得,工资能谈,但一定要“标明”。别一副“我们可以考虑”的模样,直接拿出诚意才是硬道理。【备注:文末可领最新资料】。
算法题:3n 块披萨
今天想和大家聊一个有趣的算法题:3n块披萨。
我不知道你们有没有发现,有时候算法题真的能把你绕晕,比如这道题——假设有一块披萨,切成了3n块,你需要将这些块分给三个人,让每个人得到的份额刚好是n块。
那么,问题来了:你要怎么划分这些块?而且每次你划分时,得遵循特定的规则,不能随便切。
解决这个问题的思路
这个问题其实跟我们常见的“分配问题”有点相似,虽然表面上看起来简单,但需要动脑筋的地方其实还不少。我们可以从题目中提到的“3n块”开始分析,首先要明确:每个人得到n块披萨,同时每个人拿的块数是固定的,不能多也不能少。
我们先定义一个简单的分配策略。在这个问题中,最直接的做法是“切割”的方式来确保每个人得到n块。如果每块披萨都只能被切一次并分给三个人,那么可以用一个循环或者递归的方式来模拟这个过程。你可以尝试用简单的逻辑判断和分配规则来解决它。
例如,如果n = 2,表示披萨被切成了6块,你需要把这些6块分给三个人,每个人获得2块。你可以想象,如何在6个位置上进行划分而不会违反题目中的限制条件。
Python实现
好了,不绕了,直接来看看代码。其实这道题的关键点在于分配,所以我们可以模拟出一个方案。
def pizza_distribution(n):
# 3n块披萨,分配给三个人,每人n块
total_slices = 3 * n
slices = list(range(1, total_slices + 1)) # 结果存储分配情况
person1, person2, person3 = [], [], []
# 假设按顺序分配披萨块
for i in range(total_slices):
if i % 3 == 0:
person1.append(slices[i])
elif i % 3 == 1:
person2.append(slices[i])
else:
person3.append(slices[i])
return person1, person2, person3
# 假设披萨被切成6块,n = 2
n = 2
person1, person2, person3 = pizza_distribution(n)
print(f"Person 1 gets: {person1}")
print(f"Person 2 gets: {person2}")
print(f"Person 3 gets: {person3}")
代码解析
这段代码的思路非常直接:我们把披萨切成了3n块,然后按照顺序分配这些块。每三个块分给一个人,直到所有的块都被分配完。这里用到了取模操作来确定每块披萨该分给谁——如果当前位置除以3余0,那么分给第一个人,余1给第二个人,余2给第三个人。
这种方法非常简单而且直观,能让每个人恰好得到n块披萨,同时也遵守了题目中的规则。
进一步优化?
其实,题目中的算法可以进行进一步的优化,特别是当n非常大的时候,我们可能会考虑一些更加复杂的数据结构来提高效率,比如堆、队列等。不过,考虑到这个问题的简单性,按顺序分配就足够了
好了,今天就先聊到这里。披萨吃完了,代码也写好了,如果有更好的分配方法或者优化方案,欢迎在评论区告诉我哦。
最后,我为大家打造了一份deepseek的入门到精通教程,完全免费:https://www.songshuhezi.com/deepseek
也可以看我写的这篇文章《DeepSeek满血复活,直接起飞!》来进行本地搭建。
对编程、职场感兴趣的同学,大家可以联系我微信:golang404,拉你进入“程序员交流群”。
虎哥作为一名老码农,整理了全网最全《python高级架构师资料合集》。