生活随笔
收集整理的這篇文章主要介紹了
Java算法面试题 一个顺子带一对
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
打牌里面經(jīng)常出現(xiàn)的5張牌,一個(gè)順子帶一對(duì),給你五張牌,比如:1,2,2,2,3 或者 5,6,7,4,4 或者 2,4,3,5,5 或者 7,5,9,6,9 ,這種情況就符合一個(gè)順子帶一對(duì),則返回 true;反之比如:1,3,4,6,6 或者 1,5,5,3,4 這種返回false,請(qǐng)你在不能使用任何數(shù)組原生方法,只能使用循環(huán)和賦值的情況下完成。
public class test7 {//判斷是否為一個(gè)順子帶一對(duì)的方法public static boolean test(
int [] a) {int index = -1;
//用來(lái)記錄對(duì)子中第一個(gè)元素的下標(biāo)int [] sequence =
new int [a.length-2];
//用來(lái)存放順子//首先對(duì)數(shù)組進(jìn)行排序,這里使用的選擇排序
selectSort(a);//將數(shù)組從小到大排好序后,雙重循環(huán)找到重復(fù)元素出現(xiàn)的下標(biāo)for (
int i = 0; i < a.length; i++
) {for (
int j = 0; j < a.length-1; j++
) {if(a[j+1]==
a[j]) {index =
j;}}}//根據(jù)下標(biāo),去除一個(gè)對(duì)子,將剩下的元素存放到一個(gè)新的數(shù)組,這個(gè)數(shù)組仍然是有序的for (
int i = 0,j=0; i < a.length; i++
) {if(i!=index&&i!=(index+1
)) {sequence[j] =
a[i];j++
;}}//調(diào)用判斷是否為順子的方法return isSequence(sequence);}//選擇排序的方法public static void selectSort(
int [] a) {for (
int i = 0; i < a.length; i++
) {for (
int j = 0; j < a.length-1; j++
) {if(a[j+1]<
a[j]) {int temp =
a[j];a[j] = a[j+1
];a[j+1] =
temp;}}}}//判斷是否為順子的方法public static boolean isSequence(
int [] a) {boolean flag =
true;for (
int i = 0; i < a.length-1; i++
) {if(a[i+1]-a[i]!=1
) {flag =
false;break;}}return flag;}//主方法測(cè)試,成功public static void main(String[] args) {int [] a1 = {1,2,2,2,3,4
};int [] a2 = {5,6,7,4,4
};int [] a3 = {2,4,3,5,5
};int [] a4 = {7,5,9,6,9
};int [] a5 = {1,5,5,3,4
};int [] a6 = {2,1,3,4,6,6
};System.out.println(test(a1) ==
true? "順子加對(duì)子":"非順子加對(duì)子"
);System.out.println(test(a2)==
true? "順子加對(duì)子":"非順子加對(duì)子"
);System.out.println(test(a3)==
true? "順子加對(duì)子":"非順子加對(duì)子"
);System.out.println(test(a4)==
true? "順子加對(duì)子":"非順子加對(duì)子"
);System.out.println(test(a5)==
true? "順子加對(duì)子":"非順子加對(duì)子"
);System.out.println(test(a6)==
true? "順子加對(duì)子":"非順子加對(duì)子"
);}} View Code ?
轉(zhuǎn)載于:https://www.cnblogs.com/xiangpeng/p/10468985.html
總結(jié)
以上是生活随笔為你收集整理的Java算法面试题 一个顺子带一对的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。