从1开始暴力比较:
import java.util.*; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); for(int i = 1; i < Integer.MAX_VALUE; ++i){ if(!f(s, String.valueOf(i))){ //有一个数不够,就打印返回 System.out.println(i); return; } } } static boolean f(String s, String n){ int[] v1 = new int[10]; //统计各数字的个数 int[] v2 = new int[10]; for(int i = 0; i < s.length(); ++i) v1[s.charAt(i) - '0']++; for(int i = 0; i < n.length(); ++i) v2[n.charAt(i) - '0']++; for(int i = 0; i < 10; ++i) if(v2[i] > v1[i]) return false; return true; } }