public class Solution
{
public int MinDominoRotations(int[] A, int[] B)
{
var na = A.Length;
var nb = B.Length;
if (na != nb)
{
return -;
}
var dic1 = new Dictionary<int, List<int>>();
var dic2 = new Dictionary<int, List<int>>();
for (var i = ; i <= ; i++)
{
dic1.Add(i, new List<int>());
dic2.Add(i, new List<int>());
} for (var i = ; i < na; i++)
{
var a = A[i];
dic1[a].Add(i); var b = B[i];
dic2[b].Add(i);
} var minchanges = na;
var find = false;
for (var i = ; i <= ; i++)
{
var top = dic1[i];
var bottom = dic2[i];
var temp = top.Union(bottom).Distinct();
if (temp.Count() == na)
{
minchanges = Math.Min(minchanges, na - Math.Max(top.Count(), bottom.Count()));
find = true;
}
}
return find ? minchanges : -;
}
}

思路,分别记录上部和下部的每一个点数出现的索引,然后对以此判断每一个点数的并集,是否包含了全部的索引。

这样的点数,就是可以满足在同一侧全是一样的点数。

下面就要找最小的移动次数,发现最小的移动次数是保持这个点数出现的次数多的一面不动,而把这个点数出现在另一面的牌进行翻转。

如代码所示:34行,求并集。37行,进行最小次数判断。

leetcode1007的更多相关文章

  1. [Swift]LeetCode1007. 行相等的最少多米诺旋转 | Minimum Domino Rotations For Equal Row

    In a row of dominoes, A[i] and B[i] represent the top and bottom halves of the i-th domino.  (A domi ...

随机推荐

  1. Selenium2+python自动化43-判断title(title_is)

    From: https://www.cnblogs.com/yoyoketang/p/6539117.html 前言 获取页面title的方法可以直接用driver.title获取到,然后也可以把获取 ...

  2. Oracle随机排序函数和行数字段

    随机排序函数dbms_random.value()用法:select * from tablename order by dbms_random.value() 行数字段rownum用法:select ...

  3. 网站首页多URL可访问,如何集中首页网站权重?

    原文地址:http://ask.seowhy.com/question/8573 百度站长平台Lee在文章<建立符合搜索引擎抓取习惯>一文中提出:唯一性网站中同一内容页只与唯一一个url相 ...

  4. vSphere 查看FC HBA的WWNN和WWPN

    #     查看WWN号  

  5. 类实例化对象可以访问静态(static)方法,但是不能访问静态属性。

    类-> 访问->静态方法(类的方法)->可以 类 ->访问->普通方法(对象的方法)->不可以(虽然方法里不用$this关键字时,可以!但不支持这种写法) 类-&g ...

  6. [UE4]时间轴线TimeLine,Lerp插值

    一.TimeLine时间轴线 勾选“User Last Keyframe”表示使用时间轴最后一个关键帧所在时间点作为结束时间,而不是使用设置的5秒作为结束时间点. 二.Lerp插值 Lerp插值一般与 ...

  7. [UE4]结构体

    只有数据变量属性,没有函数和事件

  8. 基于JMX动态配置Log4J日志级别

    先来看比较low的修改日志级别的方式,在写程序里面. http://blog.gssxgss.me/java%E8%BF%90%E8%A1%8C%E6%97%B6%E5%8A%A8%E6%80%81% ...

  9. ViewPager系列之 仿魅族应用的广告BannerView

    转自:https://juejin.im/post/5933c65d0ce463005717cbe9 前言 Banner广告位是APP 中的一个非常重要的位置,为什么呢?因为它能带来money.是一个 ...

  10. 《Java 程序设计》课堂实践项目 课后学习总结

    <Java 程序设计>课堂实践项目 课后学习总结 String类的使用(sort) 目录 Linux命令(sort) 课堂实践 课后思考 学习老师的代码之后的思考:int与Integer ...