迪子员工爆料:离职后再想回去,基本没戏了。HR明确表示,“拒绝二进宫!”除非领导特批。。

科技   2024-11-23 11:02   山西  

最近网上一个迪子员工的爆料引起了我的注意,说是离职了再想回去?别想了,HR已经放话:“拒绝二进宫!”🤔 除非你能让领导特批,迪子现在真的硬气起来了。


你离开的时候,公司会觉得你不够忠诚;而你选择离开,说明当初也对公司某些方面不满意。大家好聚好散,一别两宽,结果你又想回来,公司难免会觉得你是在“朝三暮四”嘛。
尤其是像迪子这样的大厂,本来候选人就多。你走了,后面排队的人可不少,HR凭啥给你留座位?
不过我觉得最扎心的是,很多人离开大厂后才发现,外面的世界其实不那么美好:小公司福利差、管理乱,甚至有时候还拖工资。这时候再回头看大厂的“香气”,估计肠子都悔青了吧。
所以啊,离职之前,大家还是多想几步吧。毕竟,大厂不是随便进的,进去了是机会,出来了就成了故事了📖。

算法:分发糖果

最近刷到一个经典问题,叫分发糖果。问题挺有意思,也挺锻炼思维:有一排孩子,每个孩子都有一个评分,要求每个孩子至少得到一颗糖果,同时评分更高的孩子得到的糖果要比两边评分低的孩子多。问:最少需要多少颗糖果?🤔
别看问题简单,用暴力解法直接从头到尾试一遍,那糖果得直接堆满仓库。聪明的算法设计,就能让你优雅地解决这个问题,糖果既不浪费,代码也干净利索。下面咱就唠唠咋写。
分析问题
先看要求:
  1. 每个孩子至少一颗糖果。
  2. 相邻的孩子中,评分高的糖果多。
一个评分数组摆在你面前,比如 [1, 0, 2]。从最朴素的角度来看,光看评分是递增还是递减,就能决定糖果的分配。大方向有了,接下来细节问题就是——怎样用最少的糖果搞定分配?
一步步推导解决方案
咱把问题分成两轮遍历:
  1. 从左到右遍历,确保每个孩子比左边评分低的得到不少于 1 颗糖果。
  2. 从右到左遍历,再调整一波,确保右边评分低的糖果分布也合理。
最终答案就是两轮调整后,所有糖果的总和。👨‍💻
来点代码
直接上 Java 代码示范,这套逻辑清晰明了:
public int candy(int[] ratings) {
    int n = ratings.length;
    int[] candies = new int[n];
    Arrays.fill(candies, 1); // 每人至少一颗糖果

    // 从左到右:保证每个孩子比左边评分高时,糖果更多
    for (int i = 1; i < n; i++) {
        if (ratings[i] > ratings[i - 1]) {
            candies[i] = candies[i - 1] + 1;
        }
    }

    // 从右到左:调整使右边评分低的糖果少
    for (int i = n - 2; i >= 0; i--) {
        if (ratings[i] > ratings[i + 1]) {
            candies[i] = Math.max(candies[i], candies[i + 1] + 1);
        }
    }

    // 计算总糖果数
    int totalCandies = 0;
    for (int candy : candies) {
        totalCandies += candy;
    }

    return totalCandies;
}
是不是很优雅?这里的核心在于两次遍历,每次都只考虑一个方向,最后用 Math.max 确保分配的合理性。总时间复杂度是 O(n),空间复杂度也是 O(n)。要是想再节省点内存,可以试试用变量代替数组存储,但那样代码可能没这么直观了。

跑几个用例看看
咱拿几个例子验证一下:
  1. 输入 [1, 0, 2],输出是 5。分配结果:[2, 1, 2]
  2. 输入 [1, 2, 2],输出是 4。分配结果:[1, 2, 1]
看着是不是挺合理?💡如果评分平稳,比如 [1, 1, 1],那就每人 1 颗糖果,这种情况根本不用动脑子。
那么,大家对这道题怎么看?你们有没有什么更骚的解法?评论区分享一波吧~


对编程、职场感兴趣的同学,可以链接我,微信:coder301 拉你进入“程序员交流群”。
🔥东哥私藏精品 热门推荐🔥

东哥作为一名超级老码农,整理了全网最全《Java高级架构师资料合集》

资料包含了《IDEA视频教程》《最全Java面试题库》、最全项目实战源码及视频》及《毕业设计系统源码》总量高达 650GB 。全部免费领取!全面满足各个阶段程序员的学习需求。

Java面试那些事儿
回复 java ,领取Java面试题。分享AI编程,Java教程,Java面试辅导,Java编程视频,Java下载,Java技术栈,AI工具,Java开源项目,Java简历模板,Java招聘,Java实战,Java面试经验,IDEA教程。
 最新文章