OPPO后端笔试0313

20道单选+3道编程题

编程都是核心代码模式

第一题:给定六个数,求可以组成的最大的数;如[3,4] 最大数为43;

排序后遍历即可。

    public static int max(int[] num) {
        Arrays.sort(num);
        int sum = 0;
        for (int i = 0; i < num.length; i++) {
            sum += num[i] * Math.pow(10,i);
        }
        return sum;
    }

第二题:给定两个无序链表,合并成一个有序链表。

我是先合并再排序的。

第三题:去西藏玩,路旁给定景点数n,每次可以游玩1~2个景点,不可以回头,请问有多少种游玩方法

二维动态规划

public static long differentRoutes(int n){
        long routes = 0;
        long[][] states = new long[n/2 + 1][n+1];
        //初始化 第一行第一列均1
        for (int i = 0; i < n/2 + 1; i++) {
            states[i][0] = 1;
        }
        for (int j = 0; j < n + 1; j++) {
            states[0][j] = 1;
        }
        //routes[i,j]表示到达该点的方案数 = routes[i-1][j] + routes[i][j-1];
        for (int i = 1; i < n/2 + 1; i++) {
            for (int j = 1; j < n + 1; j++) {
                states[i][j] = states[i-1][j] + states[i][j-1];
                if(states[i][j] >= n) {
                    break;//后面就不用算了
                }
            }
        }
        int j = n;
        for (int i = 0; i < n/2 + 1; i++) {
            //倒着查比较快
            while (2*i + j != n) {
                j --;
            }
            routes += states[i][j];
        }
        return routes;
    }
}

#OPPO笔试##OPPO#
全部评论
第三题不是一位动态规划就解决了吗?这不就是爬楼梯吗
1 回复 分享
发布于 2023-03-26 11:36 浙江
第三题好像是斐波那契?
点赞 回复 分享
发布于 2023-03-19 11:34 陕西
日常实习还是暑假实习?
点赞 回复 分享
发布于 2023-03-23 15:44 广东

相关推荐

不愿透露姓名的神秘牛友
11-20 19:57
已编辑
某大厂 golang工程师 23.0k*16.0, 2k房补,年终大概率能拿到
点赞 评论 收藏
分享
10-17 12:16
同济大学 Java
7182oat:快快放弃了然后发给我,然后让我也泡他七天最后再拒掉,狠狠羞辱他一把😋
点赞 评论 收藏
分享
沉淀一会:**圣经 1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
1 14 评论
分享
牛客网
牛客企业服务