Google Jam大赛是谷歌举办的一年一届的在线答算法题的的比赛。初赛比赛时长27小时,一共有5道算法题,总分100分,获得分数30分和以上者,就能晋级下一轮比赛。在这27小时内,选手可以多次进入jam的比赛链接,查看题目和提交代码,每道题可以提交多次。提交后,页面会实时反馈代码运行测试用例结果(通过/未通过),不过不会展示测试结果集。参加Jam的选手,进入前一千名有T恤发放;前三名奖励现金,一般参加人数达数万人,基本没有拿奖的可能了。我在赛事开始前看到了GDG公众号关于JAM的赛事信息推送,于是抱着闲着也是闲着,不如试试水的心态报名参加2020年的Jam。
我大约花了5-6小时,只做对两题,拿到27分,不能进入下一轮比赛了。虽然结果并不好,不过那天过的十分充实,让我感到很愉快,以后一定多多参加类似的算法大赛,愉快自己。下面介绍一下这三道题和我的解题思路,原题目和我的代码会放到github上,github地址。
第一题 矩阵计算(7分)
题目意思是,给定n个int类型矩阵,计算每个矩阵对角线的和(左上角到右下角),并计算矩阵中存在重复数的行数和列数,例如:
输入
3
4
1 2 3 4
2 1 4 3
3 4 1 2
4 3 2 1
4
2 2 2 2
2 3 2 3
2 2 2 3
2 2 2 2
3
2 1 3
1 3 2
1 2 3
输出
Case #