public class minNoRepeatNum{
public static void main(String[] args) {
int [] arr = new int[]{11,12,13,14,15,25,16};
int result = minNoRepeatNumFromArray(arr);
System.err.print("符合要求的数字是:---------------"+result);
}
public static int minNoRepeatNumFromArray(int [] arr){
int result = 0;//要求的数字
//1.先排序
maoPaoSort(arr);
//2.按如下算法
boolean res =true;
int min = arr[0];
int next = min+1;
while (res) {
if (isExitInArray(arr, next)) {
next++;
}else {
result = next;
res = false;
}
}
return result;
}
/**
* 冒泡法排序
* @return
*/
public static int[] maoPaoSort(int[] array){
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length-i-1; j++) {
int temp = 0;
if (array[j]>array[j+1]) {
temp = array[j];
array[j]=array[j+1];
array[j+1] = temp;
}
}
}
return array;
}
/**
* 是否存在于一个数组中
* @param array
* @param num
* @return
*/
public static boolean isExitInArray(int[] array,int num){
boolean ret = false;
for (int i = 0; i < array.length; i++) {
if (array[i]==num) {
ret=true;
}
}
return ret;
}
}
求数组中最小的不重复的整数
最新推荐文章于 2021-01-30 12:59:36 发布