注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
第一部分coding:
1. 给一个packets数组arr和channel k, 要求每个channel里面必须至少有一个数组里面的元素,每个元素只能在一个channel里面。要求算出所有channel中位数之和的最大值。
比如arr = [4,3,1,2,6,5] k = 3 最大的就是
channel 1 = [1, 2, 3, 4]
channel 2 = [5]
channel 3 = [6]
最大中位数之和为 (2 + 3) /2 + 5 + 6 = 14 注意有小数的2.5的话就取相邻的大的整数3.
解法:
public long maxMedian(List<Integer> packets, int channel){
Collections.sort(packet);
long res = 0;
while(channel > 1){
res += packets.get(packets.size() - 1);
packets.remove(packet.size() - 1);
}
int mid = packets.size() / 2;
if(packets.size() % 2 != 0){
res += (packets.get(mid));
}
else{
res += (packets.get(mid - 1) + packets.get(mid) + 1) / 2; need to substract previous substring count which already having letter i is lastIndex + 1,
dp = dp[i - 1] + i + 1 - (lastIndex + 1)
Time complexity: O(n) Space complexity: O(1)
第二部分work simluation
做了很久,有些很奇怪的问题比如一个投票点赞系统的最优数据库选择,large data的transfer之类的系统设计选择。
第三部分survey
提前看了下amazon的principal选的
比较幸运都是地理原题,感谢大家的分享!求米看VO
|