14 9 月
计数时怎样避免每个元素查两次哈希表,Array.Sort 从哪个输入规模开始不再保持相等元素的原有顺序,以及 C# 直到 .NET 6 才有的堆,很多老的 C# 竞赛代码至今还在绕开它。
Learn AI Coding, AI Agents and Software Engineering by Building Real Projects
计数时怎样避免每个元素查两次哈希表,Array.Sort 从哪个输入规模开始不再保持相等元素的原有顺序,以及 C# 直到 .NET 6 才有的堆,很多老的 C# 竞赛代码至今还在绕开它。
__slots__ 去掉了每个实例自带的字典。对象一多,能省下实实在在的内存,还顺带拦住拼写错误,但不适合当默认选择。
鸭子类型要到调用时才报错,那时离犯错的地方已经很远。抽象基类和 Protocol 都能解决这个问题,只是方向正好相反。
asdict() 把数据类(dataclass)转成字典,一路递归到底,边走边拷贝。多数时候你要的正是这样,偶尔却完全不是。