Member 12804675 Ответов: 1

Как я могу добавить для каждого цикла вместо цикла for В моем коде?


Как я могу добавить для каждого цикла вместо цикла for В моем коде? Есть ли какой-нибудь возможный способ повысить производительность моего кода? Заранее спасибо

import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.Arrays;
    import java.util.Scanner;
    public class permutation {
    	
        static Scanner s=new Scanner(System.in);
        static String 
        input =s.nextLine();
        static int size = s.nextInt();
        
       static boolean[] num = new boolean[input.length()];
        static FileWriter fstream =null; 
        
        public static void generate(String data, BufferedWriter out) {
        	 
        	if (data.length() == size) {
            	
        		try {
        			out.newLine();
    				out.write(data);
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    
    
                
              
                return;
            } 
            for (int i = 0; i < input.length(); ++i) {
                if (!num[i]) {
                  num[i] = true;
                    generate(data + input.charAt(i), out);
                    num[i] = false;      
               }
                
            }
        }
    
      
        public static void main(String[] args) throws Exception {
        	fstream = new FileWriter("D:\\out2.txt",true);
        	   BufferedWriter out=new BufferedWriter(fstream);
            char[] chars = input.toCharArray();
            Arrays.sort(chars);
            String sorted = new String(chars);
            input=sorted;
           generate("", out);
            out.close();
           
            
        }
    }


Что я уже пробовал:

Я не могу типизировать из объекта в целое число

1 Ответов

Рейтинг:
1

CPallini

Замена for на foreach, хотя и возможна, была бы непрактичной (и уродливой). В любом случае вы не получите никакого прироста производительности при такой замене.