9 条题解

  • 0
    @ 2025-3-23 10:35:10
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    import java.util.Scanner;
    
    public class 部分元素排列 {
    	static List<Integer> list = new ArrayList<>();
    	public static void main(String[] args) {
    		Scanner input = new Scanner(System.in);
    		int n = input.nextInt();
    		int r = input.nextInt();
    		int arr[] = new int[n];
    		for (int i = 0; i < arr.length; i++) {
    			arr[i]=input.nextInt();
    		}
    		
    		Arrays.sort(arr);
    		dfs(n,r,0,arr);
    	}
    
    	private static void dfs(int n, int r,int index,int[]arr) {
    		// TODO Auto-generated method stub
    		if(list.size()==r) {
    			for(int i:list) {
    				System.out.print(i+" ");
    				
    			}
    			System.out.println();
    			return;
    		}
    		for (int i = index; i < n; i++) {
    			list.add(arr[i]);
    			dfs(n, r, i+1,arr);
    			list.remove(list.size()-1);
    		}
    	}
    }
    
    

    信息

    ID
    83
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    610
    已通过
    214
    上传者