1. 程式人生 > 遊戲攻略 >《原神攻略》2.5版雷神+九條陣容搭配指南

《原神攻略》2.5版雷神+九條陣容搭配指南

package leetcode;

import java.util.ArrayList;
import java.util.Arrays;

public class offer_38 {
    public String[] permutation(String s) {
        //將字串轉換成陣列並排序
        char[] ch= s.toCharArray();
        Arrays.sort(ch);
        int[] visited=new int[ch.length];
        ArrayList<String> array=new
ArrayList<String>(); backtrace(ch, new StringBuffer(), array, visited); String[] ss=new String[array.size()]; for (int i = 0; i < ss.length; i++) { ss[i]=array.get(i); } System.out.println(array); return ss; }
public void backtrace(char[] ch,StringBuffer sb,ArrayList<String> array,int[] visited) { if(sb.length()==ch.length) { array.add(sb.toString()); } else { for(int i=0;i<ch.length;i++) { if(visited[i]!=0) {continue;}
//去除重複 if(i>0&&ch[i]==ch[i-1]&&visited[i-1]==0) {continue;} visited[i]=1; sb.append(ch[i]); backtrace(ch, sb, array, visited); visited[i]=0; sb.deleteCharAt(sb.length()-1); } } } public static void main(String[] args) { // TODO Auto-generated method stub offer_38 off=new offer_38(); off.permutation("abc"); } }