字节跳动2019Byte Camp算法笔试编程题

字节跳动2019Byte Camp算法笔试编程题

凭着回忆记录一下:

第一次笔试

  • 给定一个数组a[],求最大的a[i]+a[j]+i-j(i<j)
  • 给定一个01矩阵,如果在水平/竖直/对角线方向是相邻的,就定义为是一个相连的区域,求矩阵中有多少个1组成的区域
  • 给定一个字符串,格式为 数字%字符串#,表示%与#之间的部分重复【数字】次,输出翻译后的字符串(可能出现嵌套,如:2%a3%s## 输出应为asssasss)
  • 一个完全二叉树,节点上有房屋和松鼠,按下标给出每个节点处的房屋数量,每只松鼠所在的节点下标,要求每只松鼠住进一个房屋,求所有松鼠需要走的路径长之和的最小值

第二次笔试

  • 有w个白块和b个黑块,要搭一个高为h的塔,塔每层的块数从底向上分别为h,h-1,…1,要求在每一层中,块为同一颜色,求能搭到的最高的高度对应的搭法种数
  • 给定一个字符串mom和一组字符串child[],判断从mom中是否能拆分出所有的child(mom可重复使用)// 完了我一边敲题目一边发现我做的时候好像理解错题意了。。怪不得只过了60%的case
  • 有一棵树,每条边上有字母标记(‘a’ - ‘z’),树上每个节点 i 处有价值为a[i]的宝物,只可以从父节点向子节点走。从某个节点出发,给定一个标记序列,沿着标记序列走到某个结点,就会获得这个节点处的宝物,由于标记可能重复,因此同一个标记序列可能会走到不同的节点处,此时这个标记序列所能获得的价值是这些走到节点的宝物价值之和。给定一个节点标号,求从该节点出发,能得到的最大的价值(对应着一个标记序列)。

简答题:有一个软件,里面有群聊。每个群聊中用户可以发送消息,消息发出时,这个瞬间群内的所有成员视为已读这个消息(无论此后是否退群),用户ID、消息ID均为64bit。考虑到消息量巨大,为软件设计存储结构,描述群内有新消息、群成员变动、某用户阅读某消息对应的操作,说明设计的系统两个最大的风险。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值