菜鸟笔试
鼠鼠0.66 0.13 1,太菜了
第三题代码:
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
Set result = new HashSet<>();
Set prev = new HashSet<>();
for (int num : arr) {
Set current = new HashSet<>();
current.add(num);
for (int s : prev) {
current.add(orValue | num);
}
result.addAll(current);
prev = current;
}
System.out.println(result.size());
}
}
比较朴素的解法
第三题代码:
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
Set
Set
for (int num : arr) {
Set
current.add(num);
for (int s : prev) {
current.add(orValue | num);
}
result.addAll(current);
prev = current;
}
System.out.println(result.size());
}
}
比较朴素的解法
全部评论
第一题,用递归,cal(a, b) = 1 + (a/2, b/2), 直到a=b.
第二题,括号匹配,第一个操作没有意义,当成10010101数组处理,最后要么全1,要么全0,只需要考虑第二个操作,第二个操作是每次可以把相差偶数位的两个1转化为两个0(或者反过来),那么用栈保存1的下标,每次遇到1就看和栈顶的1下标是否相差偶数位,相差直接弹出栈顶,否则下标入栈,最后栈是空的意味着能全部配对成功。
求第三题题解
送花
回复
分享
第三题咋做的呢大佬
送花
回复
分享
秋招专场
官网直投
第一题是因为要不断的二分去找对应的点,因为2的n次方不一定在区间内,第二题我一直在做,不知道为什么只有0.13,求牛友帮助
送花
回复
分享
1 0.13 0.1
送花
回复
分享
大佬最后一题怎么优化的呀?我一直超时
送花
回复
分享
0.9 0.13 0.1
送花
回复
分享
第二题只有0.16
送花
回复
分享
求一下第三题题解
送花
回复
分享
有知道第二题怎么写的佬吗
送花
回复
分享
老哥六呀
送花
回复
分享
相关推荐
05-21 20:54
浙江大学 计算机类 点赞 评论 收藏
转发
点赞 评论 收藏
转发
查看10道真题和解析
点赞 评论 收藏
转发