菜鸟笔试

鼠鼠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());
    }
}
比较朴素的解法
全部评论
第一题,用递归,cal(a, b) = 1 + (a/2, b/2), 直到a=b. 第二题,括号匹配,第一个操作没有意义,当成10010101数组处理,最后要么全1,要么全0,只需要考虑第二个操作,第二个操作是每次可以把相差偶数位的两个1转化为两个0(或者反过来),那么用栈保存1的下标,每次遇到1就看和栈顶的1下标是否相差偶数位,相差直接弹出栈顶,否则下标入栈,最后栈是空的意味着能全部配对成功。 求第三题题解
11
送花
回复
分享
发布于 2023-10-25 21:00 北京
第三题咋做的呢大佬
5
送花
回复
分享
发布于 2023-10-25 20:42 陕西
秋招专场
校招火热招聘中
官网直投
第一题是因为要不断的二分去找对应的点,因为2的n次方不一定在区间内,第二题我一直在做,不知道为什么只有0.13,求牛友帮助
1
送花
回复
分享
发布于 2023-10-25 20:43 湖南
1 0.13 0.1
1
送花
回复
分享
发布于 2023-10-25 20:56 江苏
大佬最后一题怎么优化的呀?我一直超时
点赞
送花
回复
分享
发布于 2023-10-25 20:42 福建
0.9 0.13 0.1
点赞
送花
回复
分享
发布于 2023-10-25 20:43 陕西
第二题只有0.16
点赞
送花
回复
分享
发布于 2023-10-25 20:45 浙江
求一下第三题题解
点赞
送花
回复
分享
发布于 2023-10-25 20:54 北京
有知道第二题怎么写的佬吗
点赞
送花
回复
分享
发布于 2023-10-25 21:04 北京
老哥六呀
点赞
送花
回复
分享
发布于 2023-10-25 22:26 黑龙江

相关推荐

头像
05-07 20:51
已编辑
自动驾驶系统工程师
点赞 评论 收藏
转发
3 8 评论
分享
牛客网
牛客企业服务