关注
第一题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
相关推荐
牛客热帖
更多
正在热议
更多
# 发面经攒人品 #
2703932次浏览 36661人参与
# 产品实习,你更倾向大公司or小公司 #
175965次浏览 1996人参与
# 未岚大陆求职进展汇总 #
22537次浏览 102人参与
# 26届秋招公司红黑榜 #
2367次浏览 4人参与
# 一汽大众工作体验 #
11858次浏览 23人参与
# 最难的技术面是哪家公司? #
53333次浏览 882人参与
# 平安产险科技校招 #
1912次浏览 0人参与
# 机械人的工作环境真的很差吗 #
23816次浏览 117人参与
# 你认为小厂实习有用吗? #
93043次浏览 604人参与
# 入职第一天,你准备什么时候下班 #
83786次浏览 457人参与
# 参加完秋招的机械人,还参加春招吗? #
67451次浏览 596人参与
# 经纬恒润求职进展汇总 #
136028次浏览 1060人参与
# 度小满求职进展汇总 #
7531次浏览 40人参与
# 你有哪些缓解焦虑的方法? #
36403次浏览 831人参与
# 秋招想进国企该如何准备 #
96960次浏览 483人参与
# 来聊聊机械薪资天花板是哪家 #
146182次浏览 804人参与
# 饿了么求职进展汇总 #
76862次浏览 682人参与
# 我对___祛魅了 #
134389次浏览 743人参与
# 职场捅娄子大赛 #
429256次浏览 4161人参与
# 关于提前批我想问 #
242618次浏览 2284人参与
# 机械人的薪资开到多少,才适合去? #
134842次浏览 489人参与
# 我的求职进度条 #
132485次浏览 1523人参与