【问题标题】:Tips for finding patterns in an array在数组中查找模式的提示
【发布时间】:2010-11-22 23:55:53
【问题描述】:

我有一个包含 256 个值的数组。这 256 个值是以某种神秘的方式计算出来的,范围为 0-3(含)。为了提高我的程序的效率,我可以计算给定索引的数组的结果,而不是实际在数组中查找。

基本上,程序给了我一个索引,它会在数组中查找,但我知道我实际上可以使用索引号本身计算该索引中的内容。

例如

a[0] = 3, a[1] = 2, a[2] = 1, ... , a[254] = 1, a[255] = 1

我实际上并不是在这里要求计算,而是查看数组中的每个数字,找出模式的一些技巧是什么?如果措辞不当,我深表歉意,我会尝试解决任何问题。

【问题讨论】:

  • 例如数组的名称。使用它的代码。智商(没有冒犯,但许多智商测试会给你一个数字序列,你必须猜测下一个值)。
  • 你也可以阅读这篇文章来更好地理解这个问题:en.wikipedia.org/wiki/Kolmogorov_complexity

标签: arrays indexing design-patterns bit-manipulation


【解决方案1】:

如果不了解生成数据的函数,可能没有解决此问题的通用方法。您提到了“效率”——如果真的只有 256 个值并且生成数据的函数具有任何类型的计算复杂性,那么将其保留为数组可能更有效。

【讨论】:

  • 是的,在大多数情况下,您会创建一个数组来加速。大多数算法都比简单的查找要慢。
猜你喜欢
  • 1970-01-01
  • 2013-02-21
  • 1970-01-01
  • 2012-07-10
  • 2017-07-18
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 2017-12-23
相关资源
最近更新 更多