導(dǎo)讀 您好,現(xiàn)在冰冰來(lái)為大家解答以上的問(wèn)題。java 數(shù)組,java 算法相信很多小伙伴還不知道,現(xiàn)在讓我們一起來(lái)看看吧!1、//不加分就真對(duì)不起我...
您好,現(xiàn)在冰冰來(lái)為大家解答以上的問(wèn)題。java 數(shù)組,java 算法相信很多小伙伴還不知道,現(xiàn)在讓我們一起來(lái)看看吧!
1、//不加分就真對(duì)不起我的答案了public static Set getSubArray(List initList, int size) { Set result = new HashSet(); getNextIntArray(initList,null,size,result); return result; } public static void main(String[] args) { List initList = new ArrayList(8); initList.add(1); initList.add(2); initList.add(3); initList.add(4); initList.add(5); initList.add(6); initList.add(7); initList.add(8); Set res = getSubArray(initList,4); } public static void getNextIntArray(List initList ,int[] array,int size,Set res) { boolean isEnd = true; if(array == null) { isEnd = false; array = new int[size]; for(int i = 0; i < size ; i++) { array[i] = i; } } else { for(int i = 0; i < size; i++) { if(array[size - i - 1] + i + 1 > initList.size() - 1) { continue; } else { array[size - i - 1] = array[size - i - 1] + 1; if(i != 0) { for (int j = size - i; j < size ; j++) { array[j] = array[size - i - 1] + 1 + j + i - size; } } isEnd = false; break; } } } if(isEnd) { return; } int[] result = new int[size]; for(int i = 0; i < array.length; i++) { result[i] = initList.get(array[i]); } System.out.println(Arrays.toString(result)); res.add(result); getNextIntArray(initList,array,size,res); }。
本文就為大家分享到這里,希望小伙伴們會(huì)喜歡。
免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請(qǐng)聯(lián)系刪除!