当前位置: 首页 > news >正文

广西自治区住房和城乡建设厅网站上海央企排名前十名

广西自治区住房和城乡建设厅网站,上海央企排名前十名,北京建设执业注册中心网站,动漫设计软件有哪些文章目录 Card Flipping Game 翻转卡片游戏问题描述:EN 分析代码 Tag Card Flipping Game 翻转卡片游戏 问题描述: 在桌子上有 N 张卡片,每张卡片的正面和背面都写着一个正数(正面与背面上的数有可能不一样)。 我们…

文章目录

  • Card Flipping Game 翻转卡片游戏
    • 问题描述:
      • EN
    • 分析
    • 代码
    • Tag

Card Flipping Game 翻转卡片游戏

问题描述:

在桌子上有 N 张卡片,每张卡片的正面和背面都写着一个正数(正面与背面上的数有可能不一样)。

我们可以先翻转任意张卡片,然后选择其中一张卡片。

如果选中的那张卡片背面的数字 X 与任意一张卡片的正面的数字都不同,那么这个数字是我们想要的数字。

哪个数是这些想要的数字中最小的数(找到这些数中的最小值)呢?如果没有一个数字符合要求的,输出 0。

其中, fronts[i] 和 backs[i] 分别代表第 i 张卡片的正面和背面的数字。

如果我们通过翻转卡片来交换正面与背面上的数,那么当初在正面的数就变成背面的数,背面的数就变成正面的数。

EN

You are given two 0-indexed integer arrays fronts and backs of length n, where the i t h i^{th} ith card has the positive integer fronts[i] printed on the front and backs[i] printed on the back. Initially, each card is placed on a table such that the front number is facing up and the other is facing down. You may flip over any number of cards (possibly zero).

After flipping the cards, an integer is considered good if it is facing down on some card and not facing up on any card.

Return the minimum possible good integer after flipping the cards. If there are no good integers, return 0.

1 < = f r o n t s . l e n g t h = = b a c k s . l e n g t h < = 1000 1 < = f r o n t s [ i ] < = 2000 1 < = b a c k s [ i ] < = 2000 1 <= fronts.length == backs.length <= 1000\\ 1 <= fronts[i] <= 2000\\ 1 <= backs[i] <= 2000 1<=fronts.length==backs.length<=10001<=fronts[i]<=20001<=backs[i]<=2000

分析

看了半天没get到要点,建议中英文都看一遍。

问题中有一套卡片,卡片的正反都有数字,一开始正面朝上,反面朝下。

如果选择了一个卡片,该卡片背面的数字x与此时任意正面的数字都不一样,那么x就可以入选备选。
可以对任意卡片进行任意的反转,找到最小的那个数字,如果不存在这样的数字最后就是0。

所以问题就是找到一个策略来找出所有可能的备选数字,然后排个序。
从问题中可以知道,一种特殊的卡片,即正反一样的数字,这样的数字是不可能进入备选的,基于这个条件可以进行初筛。

此外比较容易想到的就是如果front中没有出现过x,而back中有x,那么x一定可以是入选的。
如果在此基础进行扩展,front出现了a个x,back中出现了b个x,那么x是否可以入选,取决于这些x不能出现在同一个卡片上。如果这些卡片只是单面有x,那么一定可以反转,最后得到一面只有1个x。由于双面同值的已经被筛除,所以在这个环节可以只讨论单面。

到此问题就变成,先将双面同值的进行标记排除,然后剩余的值,都可以通过操作成为备选的number。

所以只需要在非双面同值的元素中找最小的,时间复杂度 O ( N ) O(N) O(N),空间复杂度 O ( N ) O(N) O(N)

代码

public int flipgame(int[] fronts, int[] backs) {int[] set = new int[2002];int INF = 1<<30;int n = fronts.length,min = INF;for(int i = 0;i<n;i++){if(fronts[i]== backs[i]){set[fronts[i]]++;}}for(int i = 0;i<n;i++){if(fronts[i]<min&&set[fronts[i]]==0){min = Math.min(min,fronts[i]);}if(backs[i]<min&&set[backs[i]]==0){min = Math.min(min,backs[i]);}}    return min == INF?0:min;}  

时间复杂度 O ( N ) O(N) O(N)

空间复杂度 O ( N ) O(N) O(N)

Tag

Array

Hash

http://www.yayakq.cn/news/871825/

相关文章:

  • 石家庄房地产网站建设微信公众平台注册官网登录入口
  • 五分钟自己创建网站的方法产品网站开发服务
  • 代做通一样的网站中国芗城区城乡建设局网站
  • 免费建站源码搜索引擎的关键词优化
  • 韶关做网站公司微信公众号上漂亮的模板怎么弄
  • 媒体网站模版重庆网站建设-首选云慧通
  • 深圳有哪些网站建设公司wordpress 主题 不显示图片
  • 成都专业做网站公司做电商网站注意什么问题
  • 展览网站建设方案哪里可以接网站开发的活
  • 小企业网站维护一年多少钱网站刷新新前台是什么意思
  • 怎样防止别人利用自己的电脑做网站服务器济南网站建设选聚搜网络
  • 泗县网站建设与推广培训运动鞋官方网站建设计划书
  • 企业公司网站建设ppt松江php网站开发培训
  • 神木网站建设设计网站域名后缀cc
  • 我厂有大量手袋订单外发南沙seo培训
  • 服装网站建设怎么写国外网站建设现状图分析
  • 网站建设销售是做什么的怎么用ps做网站效果图
  • 高端网站建设jm3q网站用什么空间好
  • 网站美化软件厂家在哪个app找
  • 百度收录网站标题莒县做网站和微信
  • 辽宁建设厅查询网站简述商务网站建设的步骤
  • 行政单位网站信息建设政策医院网站建设最新报价
  • 网站页面结构怎么做有利于优化域名邮箱申请
  • 破解网站后台狗贩子怎么做网站卖狗
  • 响应式环保网站模板计算机网站建设毕业设计题目
  • 以太坊网站开发wordpress 书架
  • 可以做视频的一个网站营销推广的主要方法
  • 德州宁津建设局网站网站做百度联盟收入已经很低了
  • 网站开发如何报价单哪个网站可以做室内设计
  • 铜川公司做网站网站开发工作好不好