关注
第一题73%... x o x o o x o x x o x o 如果是合法的黑白矩阵,所有的x都会是同一个数字,所有的o也是 那么,把x和o位置的元素分别放到两个数组里,找出每个数组的众数,最后的矩阵就是由这两个众数交替出现组成的矩阵... 那么,所需要的翻转次数就是(矩阵元素数-众数1出现的次数-众数2出现的次数)... 但是!如果众数1和众数2是同一个数,就需要额外考虑,把众数2换成数组2里的次众数,算一次翻转次数,再把众数1换成数组1里的次众数,再算一次翻转次数,取小的那个,就可以了。。。 不知道还有哪里没考虑到... 第二题91%...感觉比第一题简单很多啊 行和列分开数,先数行,不用考虑重复。再在数列的时候判一下重就可以了。 在读数据的时候,判定一下是对行染色还是对列染色(看x1和x2是否相等) 建立两个hashmap<int,int[]>分别存储行和列,以行染色map举例,如果y1=y2,就是行染色,map的key存储行坐标也就是y,int[]数组里存储x1,x2,小的放在[0],大的放在[1],也就是这一行的起点和终点。 然后先统计行,每行的染色格子数是不会重复的,所以直接遍历map,把 每行的终点-起点+1 加到result上就可以了。 再统计列,每读一列时,遍历所有的染色行,当满足两个条件:这一行的行坐标在列的起点和终点之间,这一列的列坐标在行的起点和终点之间时,就是说这行覆盖了你要染色的列,就把重复格子+1(只可能覆盖一次)。遍历完所有的染色行后,把这一列的 终点-起点+1-重复格子数 加到result上即可。 同样...不知道还有哪里没有考虑到
查看原帖
点赞 2
相关推荐
07-17 12:09
门头沟学院 Java 点赞 评论 收藏
分享
06-25 20:44
乐山师范学院 Java 
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 不卡学历的大厂有哪些? #
6983次浏览 60人参与
# 百度秋招提前批进度 #
108567次浏览 1148人参与
# 实习如何「偷」产出? #
13511次浏览 171人参与
# 除了主业以外,你还有哪些其他收入? #
3000次浏览 55人参与
# 实习打杂,要跑路吗 #
7673次浏览 97人参与
# 风评不好的公司,你会去吗? #
40759次浏览 269人参与
# 校园里的破防时刻 #
4665次浏览 50人参与
# 职场新人体验 #
9427次浏览 96人参与
# 为什么那么多公司毁约 #
181005次浏览 1339人参与
# 蔚来求职进展汇总 #
92789次浏览 769人参与
# 第一份工作应该选高薪还是热爱? #
77103次浏览 746人参与
# 一人推荐一个值得去的通信/硬件公司 #
188140次浏览 1867人参与
# 设计人如何选offer #
127322次浏览 748人参与
# 考研可以缓解求职焦虑吗 #
52736次浏览 470人参与
# 学历贬值真的很严重吗? #
27608次浏览 186人参与
# 腾讯求职进展汇总 #
952984次浏览 9573人参与
# 秋招结束之后的日子 #
77509次浏览 941人参与
# 你觉得现在还能进互联网吗? #
16493次浏览 178人参与
# 你觉得早上几点上班合适? #
74332次浏览 308人参与
# 24届软件开发秋招薪资爆料 #
355819次浏览 1229人参与