赞 | 86 |
VIP | 0 |
好人卡 | 1 |
积分 | 136 |
经验 | 14048 |
最后登录 | 2021-1-24 |
在线时间 | 2753 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 13562
- 在线时间
- 2753 小时
- 注册时间
- 2014-10-4
- 帖子
- 756
|
不全赞同楼上
首先 1.81上 可以用 10.times.inject xxx 这种写法?? 怕是用 1.9x 及以上版本测试的吧
其次 过早优化是万物之源 在不知道这个方法用到何处 使用频率如何之前 有必要纠结优化吗 不如让可读性好一点
再次 确定是"最快"吗
因为一点点小改动就可以让他再快三倍
1. a[i], a[j] = a[j], a[i] 改成使用临时变量 t 来交换
2. 把数组 [*1..100] 提取到方法的外面 免去重复创建
3. 上一步放到外面后 在方法内不要直接引用 加一个临时变量指向它 提高索引效率
为什么 a[i], a[j] = a[j], a[i] 的写法更慢 但是ruby却提供这种写法呢? 因为写ruby初衷不就是写的舒服吗
真纠结效率 不如直接写一个 sample的c接口 效率更是能翻50倍
赞成楼上的是 sort 的写法确实有点过简过慢过于偷懒了
假如把"最快"改成“推荐的”“建议的” 那我一点点想法都没有 我完全赞成在最开始就选一个好算法 |
评分
-
查看全部评分
|