微软面试题 麻将胡牌算法

1. 这个题目要求提供最终代码(C#)

2. 该最终代码必须可以编译,运行,并实现以下的业务功能

3. 限制时间一个小时, 包括阅读文档和提交代码的时间

业务功能:

给定若干张的麻将牌 (假设只有 万 一种类型,没有条和筒)

最终胡牌必须满足以下条件

  所有的牌必须连成顺子或者3张 即:123 或者111

  最后还要有一对, 例如 11

方法签名如下:

 bool Test( int []  cards)

{
  //这里是你的代码

}

传入参数例如  { 1, 1 , 2 , 3} 代表传入2张一万,一张2万,一张3万

返回参数是true 就代表胡牌, false 代表不能胡牌

例如 1 1 2 2 2  是可以胡的

1  1 2 2 3  是不能胡的

其实想法还是挺简单的,不过一个小时的限制时间是非常严格的

这么短的时间 你能写出实现功能的 没有bug的代码么?

posted on 2011-03-22 13:51  听说读写  阅读(6405)  评论(0编辑  收藏  举报

导航