当然扑克牌问题中最复杂的就是比较大小了,然而扑克牌中的大小并不是ascii码决定的,而是有扑克牌自己的规则,下面就是扑克牌问题中神一样的方法:
int position(char c){
String line = "34567890JQKA2";
return line.indexOf(c);
}
这个神一样的公式返回的是当前扑克牌在扑克牌规则中的大小。
- 如果是一张牌,则直接返回大小然后比较。
- 如果是两张相同的牌,则只要比较第一个字符的大小就行,三张、四张同理。
- 如果是飞机,比如“34567890J”,怎么办?需要用到神一样公式的变形。
int position(String str){
String line = "34567890JQKA2";
return line.indexOf(c);
}
其中的巧妙自己去体会吧。