Python技术迷

发烧38度请假被 HR 辱骂长达1个多小时后劝退。。。

刚看到个贴子,有网友说自己发烧请假,结果被HR骂了一个多小时,还被清飞书、绩效归零,直接变相劝退了。

Image

我觉得这事吧,已经不只是“工作委屈”那么简单,这是赤裸裸的职场霸凌。你一个HR,拿着公司赋予的权力去打压病员工,真的不配做人事,更别说做人了。再忙再累,也不该拿病人出气,何况人家只是正常请个假。

从我的角度看,这其实反映了有些公司把“人力资源”当成“用人机器”,一旦你短暂不能产出,就要清除你。而这种环境,说到底是管理的失败,是文化的失败。

不过话说回来,遇到这种事,留在那也是自毁前程。【备注:文末可领最新资料】

面试题:直线镜像

直线镜像这个题,虽然名字听起来像是某种图形处理问题,但本质上是几何题和字符串题的混合版本。如果你是个搞Java的兄弟,那这个题你八成不是在刷题的时候碰到的,就是在面试现场被突然怼了一下,然后一脸懵:“啥?镜像是指啥?”

我们先搞清楚问题意思:给你一个二维平面上一堆点,然后给你一条竖直的线,比如 ,问你这堆点是不是关于这条直线成镜像对称。通俗点说,就是你拿一面镜子放在  上,这堆点能不能刚好在镜子那边也出现一模一样的位置。

这玩意儿怎么解?说实话我第一反应是数学公式一顿推,然后想想好像不是很靠谱,面试官要的是能跑起来的代码。

这题其实用 HashSet 来做特别香 😋。我们搞个 Map,把所有点按 y 值分组,然后对于每组 y 值下的所有 x 值,我们验证它们是不是关于某个中线对称。为啥这么搞?因为 x 对称的时候,y 不动啊。

直接上代码感受一下:

publicbooleanisReflected(int[][] points){
    Map<Integer, Set<Integer>> map = new HashMap<>();
int minX = Integer.MAX_VALUE, maxX = Integer.MIN_VALUE;

for (int[] point : points) {
int x = point[0], y = point[1];
        map.computeIfAbsent(y, k -> new HashSet<>()).add(x);
        minX = Math.min(minX, x);
        maxX = Math.max(maxX, x);
    }

int sum = minX + maxX;
for (Map.Entry<Integer, Set<Integer>> entry : map.entrySet()) {
for (int x : entry.getValue()) {
if (!entry.getValue().contains(sum - x)) {
returnfalse;
            }
        }
    }

returntrue;
}

看明白没?sum = minX + maxX 是关键,相当于我们找到了一个理论对称轴 ,然后只要每个点在 y 相同的前提下都有它的镜像兄弟,那就完事了。

我当时在项目里处理类似图形操作的时候也遇到过这种“镜像验证”的场景,那时还是前端页面处理 SVG 图形,要验证用户对称绘图,原理其实差不多,只不过那时候坑更多,因为浏览器解析还得加上浮点误差 🤯。

顺带提一句,如果这题非得你自己计算对称轴,千万别上来就用除法,整数除法吃你没商量,比如 (minX + maxX) / 2 是 4,但你想验证的时候再去算 sum - x 就不精确了。这里直接用 sum = minX + maxX 避免精度问题,谁用谁知道。

还有兄弟们千万别傻傻地搞个新数组去构造镜像点然后一一比对,那是图形学不是算法题,时间空间开销爆炸,面试官要是看到你这么干,估计心里已经默默扣分了。

这题就跟你用镜子照脸一样,要对称还得姿势正确 🤪。

最后用个表情结束这题:🪞+🤖 = ✔️

你问我这题难不难?说实话吧,不难,但特别容易写错,尤其是那些刚学完哈希表的小伙伴,容易被绕进去。真正的考点,其实就是你能不能冷静地分析出“先按照 y 分组,再按 x 找对称”,然后套一个巧妙的数学验证逻辑。整场面试里,它不一定最难,但绝对是最“掉坑”的那类。

你看懂了没?没看懂的话,也别急,多敲几遍,跟我当年在公司加班时写 API 一样,写着写着就通了……

最后,我为大家打造了一份deepseek的入门到精通教程,完全免费:https://www.songshuhezi.com/deepseek

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

虎哥作为一名老码农,整理了全网最全《python高级架构师资料合集》,总量高达650GB,全部免费领取