关注
试探回溯法就行,找到所有数,选出小于n的最大数就行了,复杂度没提要求应该能过;
public class Main {
public static void main(String[] args) {
int n=23121;
int[] array=new int[] {2,4,9};
System.out.println(find(n, array));
}
public static int find(int n, int[] array) {
int depth=0;
List<Integer> list=new ArrayList<>();
int path=0;
char[] digits=Integer.toString(n).toCharArray();
dfs(n, depth, digits, array, path, list);
int result=0;
Collections.sort(list);
for(int i=0;i<list.size();i++) {
if(list.get(i)>=n) {
result=list.get(i-1);
break;
}
}
return result;
}
public static void dfs(int n, int depth, char[] digits, int[] array, int path, List<Integer> list) {
if(depth==digits.length) {
list.add(path);
return;
}
for (int i = 0; i < array.length; i++) {
path = path * 10 + array[i];
dfs(n, depth + 1, digits, array, path, list);
path = path / 10;
}
}
}
查看原帖
1 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
13397次浏览 177人参与
# 机械人避雷的岗位/公司 #
44552次浏览 314人参与
# 论秋招对个人心气的改变 #
14554次浏览 198人参与
# 我的省钱小妙招 #
37490次浏览 446人参与
# 程序员找工作至少要刷多少题? #
22300次浏览 282人参与
# 工作前VS工作后,你的心态变化 #
38301次浏览 266人参与
# 为了减少AI幻觉,你注入过哪些设定? #
6762次浏览 190人参与
# 牛客AI体验站 #
8573次浏览 218人参与
# 你现在会用到哪些AI技能? #
24722次浏览 137人参与
# 你的mentor是什么样的人? #
51363次浏览 725人参与
# 找实习多的是你不知道的事 #
1788719次浏览 20670人参与
# 我现在比当时_,你想录用我吗 #
9788次浏览 133人参与
# 哪一瞬间让你觉得工作好累 #
75666次浏览 431人参与
# 12306一秒售罄,你抢到回家的票了吗? #
2457次浏览 52人参与
# 应届生进小公司有什么影响吗 #
118634次浏览 1161人参与
# 一张图晒一下你的AI员工 #
6070次浏览 131人参与
# AI Coding的使用心得 #
5721次浏览 118人参与
# 父母对你找工作是助力还是阻力? #
38375次浏览 387人参与
# 我和mentor的爱恨情仇 #
106480次浏览 952人参与
# 刚入职的你踩过哪些坑 #
7972次浏览 141人参与
OPPO公司福利 1114人发布