用异或找出只出现一次的值,用上大多数 C# 代码从没碰过的 BitOperations 类,再看看移位次数被悄悄取模、结果什么都没移的那个坑。
14 9 月
Learn AI Coding, AI Agents and Software Engineering by Building Real Projects
用异或找出只出现一次的值,用上大多数 C# 代码从没碰过的 BitOperations 类,再看看移位次数被悄悄取模、结果什么都没移的那个坑。
几乎所有树的题目都归结为一个问题:这个量是沿着树向下传,还是向上返回?路径和、不经过根的直径、最近公共祖先,以及人人第一次都会写错的二叉搜索树校验。
C# 没有这类题默认的单链表节点类型,LinkedList
正确的解法已经超时,你才会在意的那部分:不分配内存地读取输入,C# 不会提醒你的溢出,以及循环里的 Console.WriteLine 为什么要写 400,000 次。
边一旦带权,BFS 就不再正确。Dijkstra 能解决;C# 的 PriorityQueue 没有 DecreaseKey,只能重复入队。如果每条边的权重都是 0 或 1,堆其实纯属多余。