zoukankan      html  css  js  c++  java
  • 全排列/组合

    package 笔试;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class 字符串全排列 {
        
        public static void main(String[] args) {
            char[] str = new char[] {'A','B','C'};
            System.out.println(getString(str));
            System.out.println(getString(str).size());
        }
    
        public static List<String> getString(char[] str) {
            List<String> result = new ArrayList<>();
            if (str == null || str.length == 0) {
                return result;
            }
            StringBuilder sb = new StringBuilder();
            boolean[] flag = new boolean[str.length];
            doCombination(sb, result, str, flag);
            return result;
        }
        
        //全排列
        private static void doPermutation(StringBuilder sb, List<String> result, char[] str) {
            if (sb.length() == str.length) {
                result.add(sb.toString());
                return;
            }
            for (int i = 0; i < str.length; i++) {
                sb.append(str[i]);
                doPermutation(sb, result, str);
                sb.deleteCharAt(sb.length() - 1);
            }
        }
        
        //组合
        private static void doCombination(StringBuilder sb, List<String> result, char[] str, boolean[] flag) {
            if (sb.length() == str.length) {
                result.add(sb.toString());
                return;
            }
            for (int i = 0; i < str.length; i++) {
                if (flag[i]) {
                    continue;
                }
                sb.append(str[i]);
                flag[i] = true;
                doCombination(sb, result, str, flag);
                sb.deleteCharAt(sb.length() - 1);
                flag[i] = false;
            }
        }
    }
  • 相关阅读:
    hdu 1255 矩形覆盖面积(面积交)
    hdu 3642 覆盖3次以上体积
    hdu 3255 体积并
    hdu 3265 矩形剪块面积并
    HDU 3397 区间覆盖,颠倒,合并(好题)
    ACM-线段树扫描线总结
    POJ 3667 线段树区间合并
    数组排序----Demo
    Spring MVC配置详解(3)
    生产者消费者模式--
  • 原文地址:https://www.cnblogs.com/heyboom/p/11450632.html
Copyright © 2011-2022 走看看