从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;
    }
}