首页 > 20210802 Shopee 笔试
头像
leileixiang
编辑于 2021-08-03 13:23
+ 关注

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

全部评论

(3) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐