123
返回列表 发新帖
楼主: kqxqx
跳转到指定楼层
上一主题 下一主题
收起左侧

空气床电面

🔗
 楼主| kqxqx 2017-12-27 08:28:30 | 只看该作者
全局:
houpy 发表于 2017-12-27 08:09
对,应该就是数据类型的问题,我用java 写了一下,也得改写数据类型才能得出525

不过要是可以用python ...

用python的话,到底需不需要改数据类型才能得出525?
回复

使用道具 举报

🔗
houpy 2017-12-27 09:19:14 | 只看该作者
全局:
kqxqx 发表于 2017-12-21 23:54
太感谢了!看来这个题目的坑主要就是N=1,000,000的时候中间需要计算的n会超过32位int的表示范围,我回去 ...

不知道你有没有试过在leetcode playground 里面跑一下,java 换成long 依旧跪。。。
回复

使用道具 举报

🔗
houpy 2017-12-27 09:22:04 | 只看该作者
全局:
kqxqx 发表于 2017-12-27 08:28
用python的话,到底需不需要改数据类型才能得出525?

上面打错了,python里面也有long, 我觉得也还是需要考虑这个问题的

但貌似改成了也还是没有解决算法运行速度的瓶颈啊
回复

使用道具 举报

🔗
 楼主| kqxqx 2017-12-27 10:22:55 | 只看该作者
全局:
houpy 发表于 2017-12-27 09:19
不知道你有没有试过在leetcode playground 里面跑一下,java 换成long 依旧跪。。。

我是在自己机器上跑的,用的gcc编译器,用long型可以。但要严格考究起来,应该是用long long型,因为long型c++标准至少32位就行,但实际上在现在大多数64位机器上都是64位,long long型好像是至少64位。

所以,我不知道java或者python有没有类似的问题?

用recursion + cache的话,主要就是stack空间可能会overflow的问题,big O应该是最优的了
回复

使用道具 举报

🔗
houpy 2017-12-27 14:41:39 | 只看该作者
全局:
kqxqx 发表于 2017-12-27 10:22
我是在自己机器上跑的,用的gcc编译器,用long型可以。但要严格考究起来,应该是用long long型,因为long ...

分析是对的。。
回复

使用道具 举报

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

本版积分规则

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