国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

遞歸求組合

2019-11-08 03:17:12
字體:
來源:轉載
供稿:網友
package com.example.utils;import java.util.ArrayList;import java.util.List;public class ArrayHelper {	PRivate static int count = 0;	public static void main(String[] args) {		List<String> list = new ArrayList<>();		permutation(new char[] { 'A', 'B', 'C' }, 0, list);		System.out.println(list);		System.out.println(count + "次");	}	/**	 * 	 * 改進的版本,將最后的結果放入到list中	 * 	 * 結果加入count的測試 源代碼的 continue部分根本沒有執行到	 * 	 * @param arr	 * @param index	 * @param list	 */	private static void permutation(char[] arr, int index, List<String> list) {		int size = arr.length;		if (index == size) {			StringBuffer sb = null;			for (int i = 0; i < arr.length; i++) {				sb = sb == null ? new StringBuffer() : sb;				sb.append(arr[i]);			}			list.add(sb.toString());			sb = null;		} else {			for (int i = index; i < size; i++) {				count++;  				swap(arr, i, index);				permutation(arr, index + 1, list);				swap(arr, i, index);			}		}	}	static void swap(char[] arr, int idx1, int idx2) {		char temp = arr[idx1];		arr[idx1] = arr[idx2];		arr[idx2] = temp;	}	static void permutation(char[] arr, int index, int size) {		if (index == size) {			for (int i = 0; i < arr.length; i++) {				System.out.print(arr[i] + " ");			}			System.out.println();		} else {			for (int i = index; i < size; i++) {				if (i != index && arr[i] == arr[index]) {					continue;				}				swap(arr, i, index);				permutation(arr, index + 1, size);				swap(arr, i, index);			}		}	}}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌邑市| 光泽县| 白沙| 蕲春县| 张家港市| 广元市| 双城市| 托克托县| 虹口区| 通山县| 安阳市| 太和县| 东乡县| 徐汇区| 榆林市| 乐平市| 方城县| 仲巴县| 叶城县| 嘉峪关市| 阿拉善左旗| 罗田县| 伽师县| 南开区| 进贤县| 临潭县| 社会| 本溪| 和林格尔县| 贵港市| 柳林县| 喀喇沁旗| 湟中县| 陇西县| 乌拉特中旗| 济宁市| 滨州市| 六盘水市| 建始县| 册亨县| 甘南县|