程序员老鬼

20K技术经理三面全过,被 HR总监秒杀,沾过仲裁的一律不进。。

刚看到个贴子,说一位技术经理,三面通关,背调也没问题,结果因为和前东家打过仲裁,被HR总监一票否决。说真的,看到这我真是又气又叹气。

Image

我觉得这事儿太讽刺了。按理说,技术面能三过,说明人能力没问题,结果卡在仲裁记录,这不是在明示:“你可以被压榨,但不能反抗”?这年头鼓励合法维权嘴上说说,真维权了就被拉黑,那规则还有啥意义?

网友有的说“企业也怕惹麻烦”,但问题是,这种一刀切的做法,本质上是在打击所有有底线的员工。谁还敢较真?到头来就是比谁更能忍。

不过话说回来,我们技术人也别灰心。就像代码里try/catch机制一样,错了不可怕,关键是别被一个异常终结了整个程序。

走正道,也要学会自保。【备注:文末可领最新资料】

算法题:删除无效的括号

突然看到牛客又推了一个经典老题——删除无效括号。

题目其实很简单,就是给你一个字符串,里头可能有多余的 ( 或 ),你得把它删成合法的括号表达式,同时删的最少。

像我们这种干后端的,字符串处理是家常便饭对吧,但这题一上来其实很恶心人的点是——你不能瞎删,得保证删的数量最少,而且可能有多个解。你要是写个暴力DFS,递归的时候不加去重,一秒钟内就能把你内存炸掉。

我一开始偷懒写了个 BFS 版本,用队列 + visited 集合去重,逻辑大概是这样:

public List<String> removeInvalidParentheses(String s){
    List<String> res = new ArrayList<>();
if (s == null) return res;

    Set<String> visited = new HashSet<>();
    Queue<String> queue = new LinkedList<>();
    queue.offer(s);
    visited.add(s);
boolean found = false;

while (!queue.isEmpty()) {
        String cur = queue.poll();
if (isValid(cur)) {
            res.add(cur);
            found = true;
        }
if (found) continue; // 只保留当前层合法解

for (int i = 0; i < cur.length(); i++) {
if (cur.charAt(i) != '(' && cur.charAt(i) != ')') continue;
            String next = cur.substring(0, i) + cur.substring(i + 1);
if (!visited.contains(next)) {
                visited.add(next);
                queue.offer(next);
            }
        }
    }
return res;
}

privatebooleanisValid(String s){
int count = 0;
for (char c : s.toCharArray()) {
if (c == '(') count++;
elseif (c == ')') {
if (--count < 0) returnfalse;
        }
    }
return count == 0;
}

别笑,这段逻辑我调了快一小时才过全部case。那种边界情况特别多,比如字符串里混着字母啊,连续多个括号啊,甚至像 )(" 这种逆天格式,得非常细心处理。

讲真,这题一上来就有点让人想起配置中心里那个规则校验,当时小李用 Antlr 写了一版表达式校验器,还给每个括号配了Token序号,最后结果还是要靠一个简单的“计数器”解决——你发现没有,很多时候复杂问题,最后靠的还是最基本那点东西:栈、队列、Set。

还有个地方我当时被坑到了,就是你得保留所有“最短修改”的可能结果。刚开始我以为找到一个合法就可以直接 return,后来发现不是,得是所有“最少删除”的解。否则leetcode测试用例直接给你撕开。

反正总结就一句话:括号合法性问题基本都绕不开“平衡计数”思路,剩下的就是怎么控制搜索范围、去重,别让内存爆了。

-END-

我为大家打造了一份RPA教程,完全免费:https://www.songshuhezi.com/rpa.html

最后给大家分享一份不错的副业资料,点击下方公众号,回复关键字: 副业 领取,也可以链接我领取,微信:hls404