题目
具体题目没有记下来,大概是说麻将胡牌的规则,然后输入‘1’-‘9’的数字组成的字符串,字符串长度小于15.
能胡牌打印‘yes’不能胡牌打印‘no’.
胡牌的规则大概是一个对子可以,如 ‘11’、‘22’之类;
对子和三个重复的可以,如‘11222333’;
对子和串子可以胡牌,如‘11234678’,就判断输入的字符串是否满足这三种情况之一。
代码
感觉华为的机试都需要动动脑筋想一些方法,注重算法和思变能力;第一次参加这种机试,已经长期没有刷过题缺乏训练,时间只有45分钟,一上来没有打开思路,这道题没有做出来。所以,下方代码为考试结束 后写的,没有验证,正好请大家点评。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
// 麻将
public String inputString() {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
scanner.close();
return s;
}
private boolean kezi(List<Character> list) {
if (list.size() == 2) {
if (list.get(0).equals(list.get(1))) {
return true;
} else {
return false;
}
}
for (int i = 0; i < list.size(); i++)