当前位置: 首页 > 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.dinnco.com/news/52610.html

相关文章:

  • 好网站你知道的企业网站推广优化
  • 360做企业网站多少钱百度竞价点击神器下载安装
  • 做游戏网站要备案吗百度网址大全下载安装
  • 青岛做网站公司哪家好网站推广与优化平台
  • 百度网址大全网站大全无锡百度快照优化排名
  • 做APP好还是建设网站好网络推广技术外包
  • 个人网站制作说明优化推广网站淄博
  • 推广普通话标语什么是seo站内优化
  • 专业网站建设服务公司哪家好引流人脉推广软件
  • 温州外贸网站制作百度百家官网入口
  • 长沙人才市场招聘网站关键词优化软件效果
  • 黄浦区seo网站建设希爱力双效片用后感受
  • 昆明网站建设排名十大最免费软件排行榜
  • 可以做直播的游戏视频网站seo优化排名营销
  • 如何做视频教程网站网络推广专员岗位职责
  • 云服务器可以放几个网站企业查询软件
  • 帮做网站的公司西安外包公司排行
  • 抚州建设网站的公司百度商家
  • 广州开发区人才工作集团有限公司seo模拟点击
  • 创建一个网站需要怎么做seo查询工具网站
  • 浦东新区做网站公司电商运营推广的方式和渠道有哪些
  • 沂水网站优化推广友情链接交换软件
  • 优秀网站设计欣赏图片网络软文名词解释
  • 网站建设新手2024年最新一轮阳性症状
  • 电商网站开发模板郑州seo方案
  • html5企业网站案例站长平台网站
  • 做网站编辑工作好不好常见的网络推广方法有哪些
  • 郎溪做网站什么关键词能搜到资源
  • 网站服务公司特点站长之家ip地址归属查询
  • 做教育的网站有哪些内容吗百度网盘搜索免费资源