leetcode1007
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的更多相关文章
- [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 ...
随机推荐
- 关于在项目中使用spring data redis与jedis的选择
项目中需要用到redis,主要用来作为缓存,redis的客户端有两种实现方式,一是可以直接调用jedis来实现,二是可以使用spring data redis,通过spring的封装来调用. 应该使用 ...
- 使用模板引擎artTemplate的几个问题总结
一.Template not found 有的时候模板写的并没有问题,可就是找不到.这时候可能是<script>加载顺序问题,模板渲染在模板加载完成之前先执行了,调整<script& ...
- asp.net利用HttpModule实现防sql注入和加载样式和JS文件
1.新建一个类,实现IHttpModule接口 代码如下: public class SqlHttpModule : IHttpModule { public void Dispose() { } p ...
- opengl 入门浅学(一)
因为要做图形学的实验,又是要以OPENGL为基础,所以就稍微在网上查了一些资料. 我是带着目的去学习的,所以就没有打基础之类的学很深,浅尝. 今天试着搭简单框架,画出一个图形.大神请出门左转. #in ...
- mybatisz中一个可以替代between..and 的技巧
用mybatis进行时间段筛选时,如果,查询本日,本月的信息量,我们可以使用like concat()函数来替换between..and <select id="queryMyStaf ...
- OpenVZ管理
查找内存超过5%,CPU超过10% CPU=${:-} MEM=${:-} for CTID in `vzlist|sed '1d'|awk '{print $1}'` { echo "== ...
- 用gradle打包可运行jar
参考了 http://www.cnblogs.com/yongtao/p/4104526.html gradle文件加入 apply plugin: 'application' mainClassNa ...
- python直接下载图片到内存
1. 使用requests(推荐) from PIL import Image import requests Image.open(requests.get(url, stream=True).ra ...
- [UE4]客户端-服务器模式
客户端负责表现.服务器端负责数据. 以掉血为例: 一.玩家A砍了B一刀 二.服务器计算伤害,修改B的血量 三.把B的血量发给B,A砍B的动作发给所有能看到的玩家 四.客户端播放掉血量(如果允许可见), ...
- IIS 反向代理设置
http://blog.csdn.net/yuanguozhengjust/article/details/23576033