20210802 Shopee 笔试

10单选
  1. C语言内存相关(我Java后端考C?)
  2. ARP -> 由IP得到物理地址
  3. Https的加密算法 -> SSL
  4. 不死锁的最低设备数
  5. 给个图,可能的dfs序列
  6. 已知a[0][0]地址和a[2][2]地址,问a[3][3]地址
  7. 8个球,一个重,称几次找出(3^2 > 8, 2次)
  8. 其他忘了。。。
5多选
  1. 同一进程中,多线程不共享的
  2. 替换算法中的 堆栈型替换算法
  3. B+树
  4. 其他忘了。。。
第一题 解析XML

输入
"<people><name>shopee</name></people>", "people.name"
输出
“shopee”

只拿了80%, 应该是没考虑到 "<people><people></people></people>" 的情况 :(

第二题 找平衡点
平衡数左边和 == 平衡数右边和

输入
[1, 2, 3, 4, 6]
输出
3

    public int findBalancedIndex(int[] inputArray) {
        // write code here
        int sum = 0;
        for (int i : inputArray) {
            sum += i;
        }

        int sum2 = 0;
        for (int i = 0; i < inputArray.length; i++) {
            if (sum2 * 2 + inputArray[i] == sum) {
                return i;
            }

            sum2 += inputArray[i];
        }

        return -1;
    }
暴力ac

第三题 分拆整数
将 n 分成 k 份, 有几种分法。

输入
n = 7, k = 3
输出
4
    private int count = 0;

    public int divide(int n, int k) {
        // write code here
        dfs(n, k - 1, n, 1);

        return count;
    }

    private void dfs(int n, int k, int sum, int start) {
        if (k == 0) {
            count++;
            return;
        }

        for (int i = start; i <= n / 2; i++) {
            if (sum >= 2 * i) {
                dfs(n, k - 1, sum - i, i);
            }
        }
    }
dfs即可 ac
#虾皮提前批##笔试题目##笔经##Shopee#
全部评论
第一题会不会有 "<people><name>shopee</name></people><people><age>12</age></people>", "people.age",这种有两个及两个以上的属性情况,一开始我只考虑一个属性只通过了90%,考虑多个属性就全通过了
点赞 回复
分享
发布于 2021-08-02 22:09
dfs的解法学习了
点赞 回复
分享
发布于 2021-08-03 00:33
联想
校招火热招聘中
官网直投
请问shopee的编程是ACM格式吗。 需要自己处理输入输出吗
点赞 回复
分享
发布于 2022-03-12 15:39

相关推荐

2 19 评论
分享
牛客网
牛客企业服务