20240825蚂蚁后端笔试前两题ac

  1. (a==b)&&(d==0 || a>0)为YES
  2. dfs预处理一份全部的好数列表,对每次询问二分答案
static int[] goodNums = new int[5680000];
static int p = 0;

static {
	for (int i = 1; i <= 9; i++) {
		dfs(0, i, 0, 0);
	}
	goodNums[p++] = 1023456789;
}

static void dfs(int pos, int n, int mask, int curNum) {
	if (pos == n) {
		goodNums[p++] = curNum;
		return;
	}
	for (int i = 0; i <= 9; i++) {
		if (i == 0 && pos == 0) {
			continue;
		}
		if (((mask >> i) & 1) == 0) {
			dfs(pos + 1, n, mask | (1 << i), curNum * 10 + i);
		}
	}
}

全部评论
第二题这么做,离谱!
点赞 回复 分享
发布于 08-25 22:37 北京

相关推荐

不愿透露姓名的神秘牛友
11-26 16:06
已编辑
快手电商 后端 23k-35k
点赞 评论 收藏
分享
10-15 16:27
门头沟学院 C++
LeoMoon:建议问一下是不是你给他付钱😅😅
点赞 评论 收藏
分享
评论
4
7
分享
牛客网
牛客企业服务