當前位置:首頁 » 編程語言 » java數組調用

java數組調用

發布時間: 2025-04-15 05:22:43

java常用演算法,給個int數組,數字不連續,找出最小空缺數

在處理一個整數數組時,如果數組中的數字不連續,找出最小的空缺數字是一個常見的需求。例如,給定數組為 {1, 2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20},我們需要找到數組中最小的缺失整數。這個問題可以通過遞歸的方法來解決。

首先,我們定義一個主方法,該方法接收一個整數數組作為輸入,並調用輔助方法來找到最小的空缺數字。主方法中的代碼如下:

java

public static void main(String[] args) {

int[] array = new int[] {1,2,3,6,7,8,9,10,11,12, 13, 14, 15, 16, 17, 18, 19, 20};

//將數組拆分

int minque = 1;

if (1 == array[0]){

minque = zhaoque(array);

}

System.out.println(minque);

}

輔助方法 `zhaoque` 用於遞歸地查找最小的空缺數字。以下是該方法的實現:

java

public static int zhaoque(int[] array){

int minque = 1;

//array 不為空

if (null != array && array.length>0){

if (array.length == 1){

minque = array[0]+1;

}

else if(array.length == 2){

if (1 == (array[1] - array[0])){

minque = array[1]+1;

} else {

minque = array[0]+1;

}

}

else {

int headlength = (array.length+1)/2;

int[] headArray = new int[headlength];

System.array(array,0,headArray,0,headlength);

//檢查前半部分是否密集

int headmin = headArray[0];

int headmax = headArray[headlength-1];

if (headlength > (headmax - headmin)){

//前部分密集分布

int footlength = array.length - headlength;

int[] footArray = new int[footlength];

System.array(array,headlength,footArray,0,footlength);

int footmin = footArray[0];

int footmax = footArray[footlength-1];

// 檢查後部分是否與前部分銜接

if (1 == (footmin - headmax)){

//檢查後部分是否密集

if (footlength > (footmax - footmin)){

//後半部分密集分布

minque = footmax +1;

} else {

minque = zhaoque(footArray);

}

} else {

minque = headmax +1;

}

} else {

minque = zhaoque(headArray);

}

}

}

return minque;

}

通過這種方法,我們可以有效地找出給定數組中最小的空缺數字。

熱點內容
煤礦需配置哪些保安電源 發布:2025-07-14 22:07:02 瀏覽:630
腳本漏洞類型網路型 發布:2025-07-14 21:58:49 瀏覽:392
安卓視頻文件刪除後怎麼恢復 發布:2025-07-14 21:56:32 瀏覽:944
無敵腳本盒子 發布:2025-07-14 21:50:37 瀏覽:955
dbscan聚類python 發布:2025-07-14 21:36:09 瀏覽:31
海島圖怎麼配置槍 發布:2025-07-14 21:35:07 瀏覽:324
安卓備忘錄怎麼轉蘋果去 發布:2025-07-14 20:57:16 瀏覽:115
加密貨幣app 發布:2025-07-14 20:46:57 瀏覽:555
醫院防汛演練方案與腳本 發布:2025-07-14 20:41:11 瀏覽:780
公網ip做域伺服器地址 發布:2025-07-14 20:40:13 瀏覽:53