2025-02-16 回文串、斗地主
This commit is contained in:
parent
7897698f68
commit
f9affbdd48
40
src/dataANDcalc/java/leetcode/Huiwenchuan.java
Normal file
40
src/dataANDcalc/java/leetcode/Huiwenchuan.java
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
package leetcode;
|
||||||
|
|
||||||
|
public class Huiwenchuan {
|
||||||
|
|
||||||
|
private String longestPalindrome(String str){
|
||||||
|
int length = str.length();
|
||||||
|
char[] charArray = str.toCharArray();
|
||||||
|
boolean[][] dp = new boolean[length][length];
|
||||||
|
for(int i = 0; i<length; i++){
|
||||||
|
dp[i][i] = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
int begin = 0;
|
||||||
|
int max = 1;
|
||||||
|
for(int i = 0; i<length; i++){
|
||||||
|
for(int j=0; j<i; j++){
|
||||||
|
if(charArray[i] != charArray[j]){
|
||||||
|
dp[i][j] = false;
|
||||||
|
} else {
|
||||||
|
if(i-1-(j+1)<2){
|
||||||
|
dp[i][j] = true;
|
||||||
|
} else {
|
||||||
|
dp[i][j] = dp[i-1][j+1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(dp[i][j] && i-j+1>max){
|
||||||
|
begin = j;
|
||||||
|
max = i-j+1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return str.substring(begin, begin+max);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Huiwenchuan huiwenchuan = new Huiwenchuan();
|
||||||
|
System.out.println(huiwenchuan.longestPalindrome("abacab"));
|
||||||
|
}
|
||||||
|
}
|
95
src/huawei/java/Doudizhu.java
Normal file
95
src/huawei/java/Doudizhu.java
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
public class Doudizhu {
|
||||||
|
|
||||||
|
|
||||||
|
private void shunzi(String pai){
|
||||||
|
String[] strArr = pai.split(" ");
|
||||||
|
int[] arr = new int[strArr.length];
|
||||||
|
for(int i = 0; i<strArr.length; i++){
|
||||||
|
if (strArr[i].equals("J")){
|
||||||
|
arr[i] = 11;
|
||||||
|
}
|
||||||
|
else if (strArr[i].equals("Q")){
|
||||||
|
arr[i] = 12;
|
||||||
|
}
|
||||||
|
else if (strArr[i].equals("K")){
|
||||||
|
arr[i] = 13;
|
||||||
|
}
|
||||||
|
else if (strArr[i].equals("A")){
|
||||||
|
arr[i] = 14;
|
||||||
|
}
|
||||||
|
else if (strArr[i].equals("2")){
|
||||||
|
arr[i] = 15;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
arr[i] = Integer.parseInt(strArr[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(int i = 1; i<arr.length; i++){
|
||||||
|
int index = i - 1;
|
||||||
|
int temp = arr[i];
|
||||||
|
while(index >= 0){
|
||||||
|
if(arr[index] > temp){
|
||||||
|
arr[index + 1] = arr[index];
|
||||||
|
index --;
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
arr[index + 1] = temp;
|
||||||
|
}
|
||||||
|
// 打印扑克
|
||||||
|
for(int i = 0; i<arr.length; i++) {
|
||||||
|
if (arr[i] == 11) {
|
||||||
|
System.out.print("J ");
|
||||||
|
} else if (arr[i] == 12) {
|
||||||
|
System.out.print("Q ");
|
||||||
|
} else if (arr[i] == 13) {
|
||||||
|
System.out.print("K ");
|
||||||
|
} else if (arr[i] == 14) {
|
||||||
|
System.out.print("A ");
|
||||||
|
} else if (arr[i] == 15) {
|
||||||
|
System.out.print("2 ");
|
||||||
|
} else {
|
||||||
|
System.out.print(arr[i] + " ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<Integer, Object> map = new HashMap<>();
|
||||||
|
int start = 0;
|
||||||
|
while(start < arr.length){
|
||||||
|
List<Integer> shunzilist = new ArrayList<>();
|
||||||
|
shunzilist.add(arr[start]);
|
||||||
|
int cur = start + 1;
|
||||||
|
while(cur < arr.length){
|
||||||
|
if(arr[cur] - arr[cur - 1] == 1){
|
||||||
|
shunzilist.add(arr[cur]);
|
||||||
|
cur ++;
|
||||||
|
} else if(arr[cur] == arr[cur - 1]){
|
||||||
|
cur ++;
|
||||||
|
} else {
|
||||||
|
start = cur;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
map.put(start, shunzilist);
|
||||||
|
start = cur;
|
||||||
|
}
|
||||||
|
for(Map.Entry<Integer, Object> entry : map.entrySet()){
|
||||||
|
List<Integer> list = (List)entry.getValue();
|
||||||
|
System.out.println("顺子:");
|
||||||
|
if(list.size() < 5){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
for(int i:list){
|
||||||
|
System.out.print(i + " ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Doudizhu doudizhu = new Doudizhu();
|
||||||
|
doudizhu.shunzi("2 9 J 2 3 4 K A 7 9 A 5 6");
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user