公司裁员不给赔偿,不同意,直接和公司硬刚,死耗9个月,35000月薪照拿。。
最近看到一个网友发帖,说朋友在公司裁员时,直接和公司硬刚,死磕了9个月,最后公司也没办法,35000的月薪照拿。
要说,这可不是普通人能做出来的事。毕竟,裁员时能拿到赔偿的可能是极少数,别说没赔偿,还能死磕这么久,真得给这位“硬刚王”点个赞!👏
作为程序员,我觉得他能这么做,一方面是运气好,另一方面可能就是背后有一些“硬实力”。
毕竟,技术人才在一些大厂中,尤其是像35000这种薪资水平的,企业也不敢轻易撕破脸。公司在裁员时,能否迅速给出合理的赔偿方案,往往跟个人在团队中的不可替代性以及岗位的紧急性密切相关。
不过,坦白说,如果我遇到这种情况,可能真没这么“硬”了。
9个月的时间,工资还能正常发,确实够安逸,但长期这样死磕,心理压力和身体状态谁能扛得住呢?总之,能靠死磕拿下赔偿的,肯定是个“狠人”。【备注:文末可领最新资料】。
算法题:压缩字符串
在程序员的世界里,算法题简直就是“第二职业”。我记得有一次,我们公司面试一个新来的前端小哥,面试官丢了一个简单的“压缩字符串”问题,他愣了好久,最后问:“这个题不是已经有库函数吗?为什么要自己写?”我差点没笑出声。你们猜,最终面试通过了,他做了一个超级复杂的代码。嗯,表现出的“深度”我给满分。
今天我们就来聊聊这个经典的题目——压缩字符串。说实话,乍一看挺简单的,但真正去实现的时候,你会发现其中的思路、判断、技巧一点也不简单。
题目要求我们将字符串中的重复字符压缩成单个字符并后面跟随字符出现的次数。比如给定字符串"aaabbbcc", 我们的目标是将其压缩为"a3b3c2"。当然,有一个额外的约束,如果压缩后的字符串比原始字符串还长,那么我们就返回原始字符串。
对于这道题,我们的目标是找到一种既简洁又高效的方法。首先,我们不需要什么复杂的算法,掌握几个基础的编程技巧就能搞定。
开始动手写代码
首先,最直接的思路是遍历字符串,找到连续重复的字符,然后统计这些字符的出现次数。然后,如果该字符出现次数大于1,便将字符和次数一起加入到结果中。否则,直接将字符加入结果。
代码示例如下:
def compress_string(s: str) -> str:
if not s:
return s result = []
count = 1
# 遍历字符串
for i in range(1, len(s)):
if s[i] == s[i - 1]:
count += 1 # 当前字符与前一个字符相同,增加计数
else:
result.append(s[i - 1]) # 当前字符与前一个字符不同,加入结果
if count > 1:
result.append(str(count)) # 计数大于1时加上计数
count = 1 # 重置计数器
# 最后一个字符也要加进来
result.append(s[-1])
if count > 1:
result.append(str(count))
compressed = ''.join(result)
return compressed if len(compressed) < len(s) else s
思路解析
遍历字符串:我们从第二个字符开始,逐一与前一个字符进行比较。若相同,则累加计数;若不同,则将字符和它的计数添加到结果中。 处理最后一个字符:字符串的最后一个字符往往容易被忽略,所以我们需要单独处理它。 返回结果:压缩后的字符串如果比原来的长,我们就返回原字符串,这一点也在代码中实现了。
复杂度分析
时间复杂度是O(n),其中n是字符串的长度。我们只遍历了一遍字符串,每个字符最多参与一次比较或加入结果,所以时间复杂度是线性的。而空间复杂度则是O(n),因为我们需要一个额外的存储空间来存储压缩后的字符串。
优化思考
虽然我们这个算法已经很高效了,但有时候代码的优化不仅仅是在算法上。有个场景我就遇到过,公司的一个同事在处理这类字符串问题时,为了提高代码的“可读性”,写了个五花八门的“优化”方法,结果跑得慢得跟蜗牛似的,最后没办法,改成了我这个版本。总结下来:如果没有性能瓶颈,先搞清楚问题,再考虑优化,不然可能会走冤枉路。
这道题看似简单,但真正写出高效且清晰的解决方案并不容易,尤其是在需要考虑多种情况时。通过实践,我发现最重要的还是要有清晰的思维:先分析清楚问题,再决定实现方式。在这条路上,搞技术的朋友们往往都不止一次走过“优化”的坑,所以每次遇到类似的题目时,我们既要保持耐心,也要学会高效地解决问题。
对编程、职场感兴趣的同学,大家可以联系我微信:golang404,拉你进入“程序员交流群”。