要回国了,写个简单的总结吧。

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
把贵司招聘信息放这里
系统
33秒前
系统
50秒前
系统
1分钟前
系统
2分钟前
全站
2分钟前
系统
3分钟前
系统
6分钟前
系统
7分钟前
系统
7分钟前
系统
7分钟前
系统
7分钟前
全站
Warald 说: MemorialDay大礼包之二:【新功能】论坛开启用户全局威望值,每楼右上方均可投票。
34分钟前
全站
Warald 说: MemorialDay大礼包之一:【新功能】发帖后,可以邀请朋友参与讨论(自动功能)
41分钟前
查看: 829|回复: 6
收起左侧

[Leetcode] 请教如何优化代码,我怎么看不出他们的代码优化在何处。。。

[复制链接] |试试Instant~ |关注本帖
我的人缘0
ypandxy 发表于 2015-9-2 21:57:14 | 显示全部楼层 |阅读模式
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
刚刚开刷leetcode, 看了几个solution,每个runtime不一样,求教他们到底优化在何处呢?

比如 factorial trailing zeroes ,

solution 1 : "beats 38% java code "
        public int TZ(int n) {
                return n == 0 ? 0 : n/5 + TZ(n/5);
        }

solution 2 : "beats 0.75% java code "
       public int TZ(int n) {
                   int i = 5;
                while (n / i > 0) {
                        result += n / i;
                        n /= 5;
                }
                return result;
       }

solution 3 : "beats 95% java code "
        public int TZ(int n) {
                int r = 0;
                while (n > 0) {
                        n /= 5;
                        r += n;
                }
                return r;
        }
       


上一篇:分享一个用于阅读GeeksforGeeks文章的iOS app
下一篇:Sudoku solver javascript求助
我的人缘0
wzf1943 发表于 2015-9-3 08:24:20 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
你把每个solution step by step的 跑一下就知道了
回复 支持 反对

使用道具 举报

我的人缘0
danchou 发表于 2015-9-3 08:30:27 | 显示全部楼层
solution 1: 1: 同样的n / 5 操作被重复了两次,除在计算中远远慢于加减。2: recursion过程中大量压栈出栈。
回复 支持 反对

使用道具 举报

我的人缘0
danchou 发表于 2015-9-3 08:33:06 | 显示全部楼层
danchou 发表于 2015-9-3 08:30
solution 1: 1: 同样的n / 5 操作被重复了两次,除在计算中远远慢于加减。2: recursion过程中大量压栈出栈 ...

solution 2: 真的有必要用i吗?
solution 3: 每个iteration中只有一次除操作和一次加操作。
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| ypandxy 发表于 2015-9-3 08:35:35 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
danchou 发表于 2015-9-3 08:30
solution 1: 1: 同样的n / 5 操作被重复了两次,除在计算中远远慢于加减。2: recursion过程中大量压栈出栈 ...

恩恩,多谢,那solution 2 和solution 3 的差别呢?
回复 支持 反对

使用道具 举报

我的人缘0
billyli8866 发表于 2016-9-26 07:00:38 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
2里面n/5算了两遍,3里面只有1遍
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-5-27 13:38

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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