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

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

相关推荐

04-17 18:32
门头沟学院 Java
野猪不是猪🐗:他跟你一个学校,你要是进来之后待遇比他好,他受得了?
点赞 评论 收藏
分享
完美的潜伏者许愿简历通过:我上表jd,请求封我做后端大将军的事,北京有消息了:竟然不许!!! 他们一定是看我没有实习,这才故意驳回我的请求!
点赞 评论 收藏
分享
评论
4
7
分享

创作者周榜

更多
牛客网
牛客企业服务