j**********3 发帖数: 3211 | 1 就是用个hash map的那个,time 是o(n), space也是o(n),怎么不行?
以前pass的代码也不work了 |
j**********3 发帖数: 3211 | 2 太神奇了!一样的代码,现在就又过了。。。怎么回事。。。 |
j**********3 发帖数: 3211 | |
c*******e 发帖数: 373 | 4 这说明后台再统计你的代码消耗的时间
超过一个上限值,就拒绝
但是消耗的时间,和后台服务器的负载有关系,而你的代码慢的快要到上限了,所以有
时能过,有时不能过
【在 j**********3 的大作中提到】 : 太神奇了!一样的代码,现在就又过了。。。怎么回事。。。
|
j**********3 发帖数: 3211 | 5 那这个题怎么算?
【在 c*******e 的大作中提到】 : 这说明后台再统计你的代码消耗的时间 : 超过一个上限值,就拒绝 : 但是消耗的时间,和后台服务器的负载有关系,而你的代码慢的快要到上限了,所以有 : 时能过,有时不能过
|
c*******e 发帖数: 373 | 6 看来你没有明白我的意思
因为我不明白你的问题的意思
算什么呢?
【在 j**********3 的大作中提到】 : 那这个题怎么算?
|
j**********3 发帖数: 3211 | 7 明白你的意思啊,你的意思是我的代码慢,所以才问你,有啥好的算法?
我的方法是,用一个hashmap,从头开始读数组,读一个,看hashmap里是否有target -
这个数,如果有,就找到了,return,没有,就把这个的数字作为key,index作为
value,存进去。
这样,只走了一遍,时间空间都为n
【在 c*******e 的大作中提到】 : 看来你没有明白我的意思 : 因为我不明白你的问题的意思 : 算什么呢?
|
c*******e 发帖数: 373 | 8 算法应该没问题的
代码有嘛?
同样的算法,不同的具体代码,速度也可以差别很大的
-
【在 j**********3 的大作中提到】 : 明白你的意思啊,你的意思是我的代码慢,所以才问你,有啥好的算法? : 我的方法是,用一个hashmap,从头开始读数组,读一个,看hashmap里是否有target - : 这个数,如果有,就找到了,return,没有,就把这个的数字作为key,index作为 : value,存进去。 : 这样,只走了一遍,时间空间都为n
|
c**********r 发帖数: 64 | 9 请改进算法不要用hash。计算机竞赛里面都不让用hash的,因为性能不稳定。你觉得是
O(n)可能test跑成了O(n^2)
[发表自未名空间手机版 - m.mitbbs.com] |
c**********r 发帖数: 64 | 10 这个算法不好,性能不稳定,而且不能解k sum closest的问题
[发表自未名空间手机版 - m.mitbbs.com]
【在 c*******e 的大作中提到】 : 算法应该没问题的 : 代码有嘛? : 同样的算法,不同的具体代码,速度也可以差别很大的 : : -
|
j**********3 发帖数: 3211 | 11 那怎么做啊?
【在 c**********r 的大作中提到】 : 这个算法不好,性能不稳定,而且不能解k sum closest的问题 : : [发表自未名空间手机版 - m.mitbbs.com]
|
j**********3 发帖数: 3211 | 12 不用hashmap怎么能做到o(n)啊?请指教
【在 c**********r 的大作中提到】 : 请改进算法不要用hash。计算机竞赛里面都不让用hash的,因为性能不稳定。你觉得是 : O(n)可能test跑成了O(n^2) : [发表自未名空间手机版 - m.mitbbs.com]
|
t****i 发帖数: 88 | 13 用排序的话没法O(N)吧
不过hashmap的话,怎么处理重复比较好呢?还有如果是 “数组[4] target 8”这种,
好像用hash处理也得区分一下 |
j**********3 发帖数: 3211 | 14 这个好解决,比如有重复的,你只要第一个就好。
数组4,当读到它的时候,map里边没有4,所以不会出现他和他自己相加等于8这种情况
,除非第2个4出现。
继续求o(n)不用hashmap的解法。
另外,hashmap怎么会O(n^2)?
【在 t****i 的大作中提到】 : 用排序的话没法O(N)吧 : 不过hashmap的话,怎么处理重复比较好呢?还有如果是 “数组[4] target 8”这种, : 好像用hash处理也得区分一下
|