java 全排列问题

java 全排列问题,第1张

java 全排列问题

文章目录
        • 全排列问题
          • 字母版本
          • 数字版本

全排列问题

求字符串“ABC”中说与字符的全排列(不包含重复)

(注 :String.valueOf(arr) 打印数组)

字母版本
import java.util.TreeSet;
public class quanpailei {
    static TreeSet set=new  TreeSet<>();
    public static void main(String[] args) {
        String s ="ABBC";
        char [] arr=s.toCharArray();
        pailei(arr,0,arr.length);
        for (String i:set){
            System.out.println(i);
        }
    }
    private static void pailei(char[] arr, int from, int to) {
        if (from==to){
            set.add(String.valueOf(arr));
        }
        for (int i = from; i  
数字版本 
import java.util.ArrayList;
import java.util.List;
import java.util.TreeSet;
class Solution {
    static TreeSet set=new  TreeSet<>();
    public List> permute(int[] nums) {
        set=new  TreeSet<>();
        pailei(nums,0,nums.length);
        List> List = new ArrayList<>();
            for(String i:set ){
                java.util.List list1 = new ArrayList<>();
                for(String j:i.split(String.valueOf(','))){
                    int a=0;
                    int P=1;
                    for (char A:j.toCharArray()){
                        if (A=='-'){
                            P=-1;
                        }else {
                            a=a*10+(A-'0');
                        }
                    }
                        list1.add(P*a);
                    }
                List.add(list1);
            }
        return List;
    }
   
    private static void pailei(int[] arr, int from, int to) {
        if (from==to){
            String S="";
            for (int i:arr){
                S+=i+",";
            }
            set.add(S);
        }
        for (int i = from; i 

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5481643.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存