【发布时间】:2012-01-12 09:46:33
【问题描述】:
我想知道解决这个问题的最佳方法是什么......
我有一组用户定义的颜色,它们作为 rgb 值被推入堆栈。我想为每个用户定义的颜色找到第二种颜色。这些第二种颜色在用户定义的数组中必须是完全唯一的,但可以是完全随机的,不需要与任何用户颜色有任何视觉关系。
生成随机 rgb 值并针对堆栈进行测试会很快,因为随机数不太可能在第一次尝试时找到相同的颜色。或者只是从 255,254,253 开始并从每个值中减去 1,然后针对堆栈进行测试会更好,也不太可能并且操作更少。还是有其他想法?
【问题讨论】:
-
所有原始颜色接近 (255,255,255) 的可能性有多大?如果是,那么随机选择似乎是更好的选择。
-
你在接下来的 5 分钟内实现的那个,除非它证明太慢:) 我会选择随机数,因为那样它实际上可能有点有趣, 不管是什么。对于较小的初始数组,没有必要切换到地图和/或使用更复杂的树/算法。
-
另外,堆栈似乎不是这个任务的最佳数据结构......
-
使用随机数。没有理由不这样做。
-
@OliCharlesworth 我将把它添加到“没有区别的浪费周期桶”;-)
标签: javascript arrays performance optimization