关注
第一题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
相关推荐
11-19 12:10
湖南财政经济学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
288032次浏览 2527人参与
# 学历or实习经历,哪个更重要 #
49156次浏览 379人参与
# 阿里云管培生offer #
4998次浏览 113人参与
# 地方国企笔面经互助 #
3497次浏览 7人参与
# 美团求职进展汇总 #
1323594次浏览 12420人参与
# 选完offer后,你后悔学本专业吗 #
18418次浏览 132人参与
# 北方华创开奖 #
25440次浏览 275人参与
# 如果不工作真的会快乐吗 #
58149次浏览 503人参与
# 如何一边实习一边秋招 #
990269次浏览 12628人参与
# 得物求职进展汇总 #
65603次浏览 678人参与
# 国央企薪资爆料 #
5697次浏览 42人参与
# 腾讯求职进展汇总 #
194875次浏览 1633人参与
# 提前批简历挂麻了怎么办 #
146001次浏览 1942人参与
# 0offer是寒冬太冷还是我太菜 #
895712次浏览 7988人参与
# 银行笔面经互助 #
82211次浏览 872人参与
# 数据人offer决赛圈怎么选 #
116227次浏览 1459人参与
# 海康威视求职进展汇总 #
397946次浏览 3403人参与
# 机械人,你在招聘流程中的企业有哪些? #
17768次浏览 186人参与
# 许愿池 #
213222次浏览 2529人参与
# 研究所VS国企,该如何选 #
130207次浏览 1492人参与
# 网申一定要掌握的小技巧 #
5249次浏览 52人参与
# 没有实习经历,还有机会进大厂吗 #
810706次浏览 13920人参与