【发布时间】:2015-04-24 06:04:10
【问题描述】:
我的代码是:
struct TileIdx { int mRow; int mCol; };
typedef std::vector<TileIdx> TileChain;
bool IsChainInChains(const TileChain& chain, const std::vector<TileChain>& chainArray);
分析器显示IsChainInChains 是我的代码的瓶颈。
我需要最快的方法来实现这个功能。
我们可以假设,chainArray 已经排序(哪种方式?由您决定)。
我们还可以假设 mRow 和 mCol 不会超过 100(即,mRow * 100 + mCol 是用于排序目的的有效 int)。
我不是故意将我当前的实现包括在内,以便社区不仅分析我的代码,而且提出新的解决方案。
【问题讨论】:
-
因无缘无故未能提供当前解决方案而减 1。这会让你的问题变得更糟。
-
@Yakk 我解释了我的原因。我不只是希望分析我的代码,而是寻找不同的方法。这样问题就更常见了,因此对未来的社区更有用。