📣 独立日限时特惠: VIP通行证立减$68
12
返回列表 发新帖
楼主: qoobee
跳转到指定楼层
上一主题 下一主题
收起左侧

气垫床 店面挂

🔗
 楼主| qoobee 2019-5-3 07:57:58 | 只看该作者
全局:
drool 发表于 2019-5-3 02:10
谢谢,我在想1M用递归会stack overflow吗?当中有可能超过Int.MAX吗

会的 也会超过int 的范围
回复

使用道具 举报

全局:
qoobee 发表于 2019/05/03 07:57:58


会的 也会超过int 的范围

我是想说你是不是忘了用long
回复

使用道具 举报

🔗
 楼主| qoobee 2019-5-6 04:13:19 | 只看该作者
全局:
drool 发表于 2019-5-3 13:15
我是想说你是不是忘了用long

真可爱。。 嗯 用了啊。 这个bug在哪。。因为我后面还有面试 没时间思考。。面试我的天竺小哥和我一起研究了十几分钟也无解。。 没事儿!等两个星期我保证去研究!
回复

使用道具 举报

🔗
ytgrpsl 2019-5-6 05:08:12 | 只看该作者
本楼:
全局:
谢谢分享
回复

使用道具 举报

🔗
jackalsin 2019-5-7 14:23:39 | 只看该作者
全局:
qoobee 发表于 2019-5-6 04:13
真可爱。。 嗯 用了啊。 这个bug在哪。。因为我后面还有面试 没时间思考。。面试我的天竺小哥和我一起研 ...

1M 如果你跑出475的话是overflow 的问题,主要原因 map的containsKey(Object key)

如果你传进去一个int,compiler是不会报错的。。。顺带去看了一个长久以来的疑问,为啥是object,不是K

https://www.youtube.com/watch?v=wDN_EYUvUq0

Collection 的作者给出了答案(需要看前8分钟,从0开始看,否则容易lost)
楼主是不是辉夜大小姐看多了,真是可爱
回复

使用道具 举报

🔗
jackalsin 2019-5-7 14:30:17 | 只看该作者
全局:
话说楼主怎么写的非递归,我觉得难度很高啊,也就是top down不行,只能bottom up,但bottom up的话不能保证从1开始往上涨是按顺序populate,不能保证之前已经出现过啊,楼主咋做的,求被吊打
回复

使用道具 举报

🔗
 楼主| qoobee 2019-5-8 09:56:11 | 只看该作者
全局:
jackalsin 发表于 2019-5-7 14:30
话说楼主怎么写的非递归,我觉得难度很高啊,也就是top down不行,只能bottom up,但bottom up的话不能保证 ...

话说 楼主和你们比可能太2 大概思想是这个样子我就觉得是非递归性质的了。至少不是反复通过function a调用function a, 迅速瞎涂下 就是这个样子的。。 你别嘲笑我。。

  1. public static int getSteps(int n, HashMap<Long, Integer> m) {
  2.         int step = 1;
  3.         int next = n;
  4.         if (m.containsKey(n))
  5.            return m.get(n);

  6.             while (next > 1) {
  7.                 if (m.containsKey(next)) {
  8.                     step += m.get(next);
  9.                     break;
  10.                 } else {
  11.                     if (next % 2 == 1) {
  12.                         next = next * 3 + 1;
  13.                     } else {
  14.                         next = next / 2;
  15.                     }
  16.                     step++;
  17.                 }
  18.             }

  19.             m.put((long) n, step+1);
  20.         return step;
  21.     }
复制代码
回复

使用道具 举报

🔗
jackalsin 2019-5-9 00:24:27 | 只看该作者
全局:
qoobee 发表于 2019-5-8 09:56
话说 楼主和你们比可能太2 大概思想是这个样子我就觉得是非递归性质的了。至少不是反复通过function a调 ...

楼主,两个问题,你的bug 有两个,
第一个是你的每次运算都比维基百科上多1
第二个是我上一个帖子。。。<code>get(Object key) </code>

你这个solution中途步骤没有记录。。。我觉得那个面试官故意为难你,这个不记录中间步骤的结果也太傻了

比如 3 (not calculated) -> 10 -> 5 ....
这个10的步骤不会被记录。。。。如果强行不用recursion,倒是可以把中间数字push到stack,手动recursion
回复

使用道具 举报

🔗
 楼主| qoobee 2019-5-9 08:44:17 | 只看该作者
全局:
jackalsin 发表于 2019-5-9 00:24
楼主,两个问题,你的bug 有两个,
第一个是你的每次运算都比维基百科上多1
第二个是我上一个帖子。。 ...

大概理你的意思了! 谢谢!
回复

使用道具 举报

🔗
neverlandzzy 2019-5-25 15:02:30 | 只看该作者
全局:
jackalsin 发表于 2019-5-7 14:23
1M 如果你跑出475的话是overflow 的问题,主要原因 map的containsKey(Object key)

如果你传进去一个in ...

1M 应该是524么?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表