halfrost

Results 169 comments of halfrost

> @simonkuang938 > 上述代码疑似没有考虑到 array 中有多个相同 value 的元素的情况。比如 [3, 3, 3, 5, 5, 5] 会输出 [2, 3], [2, 4] 和 [2, 5],匹配结果不全。 题目中只要求输出一组解即可。上面这个代码应该会输出 [2,3] 这组解。

> @m3shine > 算法训练的是思路,所以思路上为何没有考虑单解、多解、无解,以及给定数组有重复数字的情况。 > 原来这里说了,没注意到: > You may assume that each input would have exactly one solution, and you may not use the same element twice. 你说的这些单解、多解的情况,后面有一道题其实就有。因为加了这些条件以后,题目就变难了。包括重复数字的情况,也有。 另外输出上也加了限制,比如多解的情况要求去重输出,要求按下标出现顺序输出。这些都算是增加了难度。我在去重输出那里错了好多次,当时弄的我非常蛋疼,我印象很深刻。另外要按照下标出现次数顺序输出就需要增加一个标号,在回溯的过程中一直保留它,最终输出的时候按着标号输出。

> 这个空间复杂度 也O(n)啦吧 @xujunhai 嗯。是的。

> map查找并不是O(1)复杂度,所以整体并不能算O(n) @zeddit 关于 map 查找的时间复杂度,要具体的讲的话,要看每个语言的具体实现。每个语言实现略有区别,比如 C++ 和 Java,Java 不同版本也有不同。除去语言实现方面,还要看哈希是否冲突,冲突了以后如何解决的,这里涉及到装载因子的问题。面试的时候如果简单的说,可以说是 O(1)复杂度,如果面试官真的要深究,那可以按照我这里说的,一点一点的和他细致的聊。

> 我竟然想到了量子力学 @yungson 为啥?🤔

> > @halfrost > > > 我竟然想到了量子力学 > > > > > > @yungson 为啥?🤔 > > 我开了个比较大的脑洞哈哈,两个数组成一个数就好像两个数在纠缠一样,不是你先出现就是我先出现,不太严谨啦~ @yungson 厉害了,确实有点这种感觉~

@koilin 是的。全部都是 Go 写的。纯 Go 的

> python,求问这是O(n)吗: > > ```python > nums = [int(x) for x in input("Given nums = ").split()] > target = int(input("target = ")) > dic = {} > for idx, num...

> if _, ok := m[another]; ok { return []int{m[another], i} } 这里为什么不直接使用value,而是用_表示,在后面获取的时候又要使用m[another]? @brness 可以直接用 value。只是我当时写的时候写成这样了。😅

> 好像不是100% @RobKing9 他们的测试数据是动态变化的。我当时交的时候是 100%,后来可能又新增了新的测试数据。