华为机试—扑克比大小
华为机试—扑克牌比大小
规则:出牌牌型有5种
牌只有1到9,手里拿着已经排好序的牌a,对方出牌b,用程序判断手中牌是否能够压过对方出牌。
[1]一张 如4 则5…9可压过
[2]两张 如44 则55,66,77,…,99可压过
[3]三张 如444 规则如[2]
[4]四张 如4444 规则如[2]
[5]五张 牌型只有12345 23456 34567 45678 56789五个,后面的比前面的均大。
输入: 输入有多组数据。
每组输入两个字符串(字符输出: 压过输出YES 否则NO。串大小不超过100)a,b。
a字符串代表手中牌,b字符串代表出牌。
样例输入:
12233445566677
33
123344556667799
888
样例输出:
YES
NO
import java.util.Scanner;
public class pukeDa {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String a = s.nextLine();
Scanner ss = new Scanner(System.in);
String b = ss.nextLine();
int len = b.length();
int i;
for (i = 0; i < a.length(); i++) {
if (len == 1) {
if (a.charAt(i) > b.charAt(0)) {
System.out.println("YES");
return;
}
} else if (len == 2) {
if (a.charAt(i) > b.charAt(0) && a.charAt(i) == a.charAt(i + 1)) {
System.out.println("YES");
return;
}
} else if (len == 3) {
if (a.charAt(i) > b.charAt(0) && a.charAt(i) == a.charAt(i + 1)
&& a.charAt(i) == a.charAt(i + 2)) {
System.out.println("YES");
return;
}
} else if (len == 4) {
if (a.charAt(i) > b.charAt(0) && a.charAt(i) == a.charAt(i + 1)
&& a.charAt(i) == a.charAt(i + 2)
&& a.charAt(i) == a.charAt(i + 3)) {
System.out.println("YES");
return;
}
} else if (len == 5) {
if (a.charAt(i) > b.charAt(0)
&& (a.charAt(i + 1) == a.charAt(i) + 1)
&& (a.charAt(i + 2) == a.charAt(i) + 2)
&& (a.charAt(i + 3) == a.charAt(i) + 3)
&& (a.charAt(i + 4) == a.charAt(i) + 4)) {
System.out.println("YES");
return;
}
}
if (i == (a.length() - len)) {
System.out.println("NO");
return;
}
}
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。