注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
四题70分钟,那我们直接来,前三题还好
1,4个list input,前两个里面都是数字,第三个是符号+-,看能不能变成第4个list,比如a (c) b == d
2, 2个string input,进行数字加减法
4, 一个正方形矩阵,里面都是正整数,给一个input:k,把matrix按照k作为边长来切割成submatrix,比如说一个8*8的,那么k是2的话就会变成16个2*2的矩阵了,然后每一个submatrix要进行rank,降序排序的要求是找到里面没出现的最小正整数,比如1,2,3,5那么rank就算4。有点复杂我写个例子,
input: [[1,2,1,2], k= 2
[3,4,5,6],
[2,3,4,5],
[4,5, 2,3]]
submatrix => [[1,2], rank = 5
[3,4]]
[[1,2], rank = 3
[5,6]]
[[2,3], rank = 1
[4,5]]
[[4,5], rank = 1
[2,3]]
那么rank排序是1,1,3,5,所以最后的output 就变成了,注意如果相同rank的话会保持原来的顺序
[[2,3,4,5],
[4,5, 2,3],
[1,2,1,2],
[5,6,3,4]]
前3题我30分钟就全过了,但是这题我写的非常的麻烦,想了半天没有什么好的解法,就只能每个submatrix硬来存到list然后算rank排序最后放回去,最后duge时间也不够了,希望有大神能解答快速高效的答案,我觉得我的方法很差,求解答
第四题写清楚不容易,加米支持下呀
|