yuanfengyun/q_algorithm

c++ 拆牌问题

yangxingpping opened this issue · 2 comments

c++版本的拆牌算法无法识别下面的牌:
char cards[] = {
3,0,0,0,0,0,0,0,1,
0,1,0,1,0,0,0,0,0,
1,0,1,0,0,1,0,1,0,
0,0,0,0,0,0,4
};
这种情况下出现内存访问错误。
然后我看了下splite2::one(...)函数的实现,发现处理只是想把只有一张的牌连成一个刻子(3张连续的牌)。
而上面这个第一个最后的9,应该要组成将(一对9),就可以和牌。
其他语言的版本没有看。
不知道上面的理解是否有偏差,如果没有的话,我改好了的话提交一个pr。
另外,查表的方法用于判定是否可以和牌很好用。

代码改动过几次,你确定有问题就提交pr

这种方式是先选择了将牌再进行拆牌