【水】闲着刷谭不如来写点简单题吧

一年不做,这两天重新捡起来,觉得做点简单题还蛮解压的。

4 个赞

128. Longest Consecutive Sequence
能用Union Find写,但写着写着觉得不如直接用HashSet方便。一看几年前也是写union find 写破防了换成set的solution,人生真是一个巨大的循环

3 个赞

167. Two Sum II - Input Array Is Sorted
Binary search的甜品题,这题的双指针和 11. Container With Most Water有点像,都是proof讲不清楚的题目 :sweat_smile:

2 个赞

Union Find我至今都不会写…

1 个赞

你干脆发个你刷题的录像 让我们看看水平

3 个赞

same,感觉面试也不太会遇到

347. Top K Frequent Elements
Top k的简单写法还是优先队列,O(n)的Quickselect写法早已还给老师。

560. Subarray Sum Equals K
brute force版本的前缀和也能过,真是感动。借助map的solution可以优化到O(n),人比较懒惰,就不写了。

今天的题目就到这里为止吧,再次感叹LLM蛮喜欢乱讲时间复杂度的 :yaoming:

古法编程啊 :yaoming:

1 个赞

可以开个楼
让非专业程序员比赛做题 :troll:

class Solution {
public:
    int longestConsecutive(vector<int>& nums) {
        unordered_set<int> uniq_nums{};
        for(auto x: nums){
            uniq_nums.insert(x);
        }

        int ret{};
        for(auto x: uniq_nums){
            if(!uniq_nums.count(x - 1)){
                int y = x;
                int len = 1;
                while(uniq_nums.count(y + 1)){
                    y ++;
                    len++;
                }
                ret = max(ret, len);
            }
        }
        return ret;
    }
};
1 个赞
class Solution {
public:
    int subarraySum(vector<int>& nums, int k) {
        int cur{};
        int ret{};
        unordered_map<int, int> seen;
        seen[0] = 1;
        for(int x: nums){
            cur += x;
            int need = cur - k;
            if(seen[need]) ret += seen[need];
            seen[cur] += 1;
        }

        return ret;
    }
};
1 个赞

会写题又怎么样。到时候别人说你代码implementation风格有问题,一样的拒。所谓的面试就是个joke

这个不就是search吗?一维度的

相邻条件是差1

如果是one-off的union find 没啥优势,这玩意最强在多次查询

我不敢union find的原因是复杂度需要数学证明,万一哪个人较真就完蛋了,不至于说你和一龙只差五个联系人吧

2 个赞

在公司里面vibe 多了, 感觉最近刷题水平下降了很多

最近也面了几个跳槽的, 感觉思路都有, code也写得也磕磕绊绊, 甚至有点混乱, 比我去年面的人平均水平下降不少

感觉在赌未来24个月面试形式有变化吧

我们在公司里学会了怎么写健壮的业务逻辑、怎么开会拉齐,却丢掉了当年手撕红黑树的锐气

2 个赞

古法编程真比看同事vibe的解压

每次看代码库都是ai 帮我看本质做阅读理解

就直接提名词inverse of akerman,让推导就说忘记了。

24个月,够pip我五次