【发布时间】:2020-09-19 18:46:28
【问题描述】:
挑战是用尽可能最优的算法在水平、垂直或对角线方向上找到 4 个连续相等的字符。
例如,如果我们有这个矩阵:
[
['L','T','G','C','T','A'],
['X','A','G','T','G','A'],
['T','R','T','K','G','A'],
['A','T','A','M','G','A'],
['C','C','C','C','T','G'],
['V','C','D','C','T','W']
]
算法应该找到AAAA(垂直)、CCCC(水平)和TTTT(倒角)。
你会怎么做?可以使用任何编程语言。
提前致谢!
【问题讨论】:
-
我认为任何天真的算法都会花费
O(M)时间来完成这项任务(M数组中的元素数量),而且你不可能做得更好,因为您必须至少访问一次阵列的所有单元。因此,如果任务不是关于实现速度而是关于O表示法,我会说一个简单而幼稚的方法可以完成这项工作。
标签: arrays algorithm performance optimization logic