- 921. Minimum Add to Make Parentheses Valid 使括号有效的最少添加
- 915. Partition Array into Disjoint Intervals 分割数组
- 932. Beautiful Array 漂亮数组
- 940. Distinct Subsequences II 不同的子序列 II
题目地址:https://leetcode.com/problems/card-flipping-game/description/
Ona table are N
cards, with a positive integer printed on the front and back of each card (possibly different).
Weflip any number of cards, and after we choose one card.
Ifthe number X
on the back of the chosen card is not on the front of any card, then this number X is good.
What is the smallest number that is good? If no number is good, output 0.
Here, fronts[i]
and backs[i]
represent the number on the front and back of card i.
Aflip swaps the front and back numbers, so the value on the front is now on the back and vice versa.
Example:
Input: fronts = [1,2,4,4,7], backs = [1,3,4,1,3]
Output: 2
Explanation: If we flip the second card, the fronts are [1,3,4,4,7] and the backs are [1,2,4,1,3].
We choose the second card, which has number 2 on the back, and it isn't on the front of any card, so 2 is good.
Note:
1、 1<=fronts.length==backs.length<=1000.;
2、 1<=fronts[i]<=2000.;
3、 1<=backs[i]<=2000.;
有一些正反面都有数字的牌,我们可以做很多次翻转操作,每次翻转时如果这个牌背面的数字没有在这群牌的正面出现过,那么就可以把这个牌翻转过来。求翻转哪个牌可以之后,可以使得所有牌正面中的最小值最小。
这个题的英文描述不清,我尽量翻译的清楚了。
所以,如果一个牌正反面相等,那么翻转不翻转没什么意义。否则可以翻转,求翻哪些之后会得到最小,就是如果不翻转的最小值和翻转了之后的最小值的最小值。使用set保存一下正反面相等的数字,这些是一定不能在正面出现的,然后找出不在这个set里面的正反面的最小值即可。
怎么理解?首先正反面相同的翻转没有意义,然后找在正反面的最小值把它翻转到正面来。那么有人会想,如果翻转这个牌和其他的正面的牌有冲突怎么办?其实,如果和set里面的牌有冲突没有意义,如果和不在set里面的正面的牌有冲突就把这个冲突的牌也翻转即可。所以,不用考虑这么多。。
时间复杂度是O(N),空间复杂度最坏是O(N).
代码如下:
class Solution:
def flipgame(self, fronts, backs):
"""
:type fronts: List[int]
:type backs: List[int]
:rtype: int
"""
s = set()
res = float('inf')
for f, b in zip(fronts, backs):
if f == b:
s.add(f)
for f in fronts:
if f not in s:
res = min(res, f)
for b in backs:
if b not in s:
res = min(res, b)
return 0 if res == float('inf') else res
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
参考资料:
https://zxi.mytechroad.com/blog/hashtable/leetcode-822-card-flipping-game/
DDKK.COM 弟弟快看-教程,程序员编程资料站,版权归原作者所有
本文经作者:负雪明烛 授权发布,任何组织或个人未经作者授权不得转发
除了源评论之外,我找不到关于 card.io 的文档。 CardIOCreditCardInfo.h 文件具有 CardIOCreditCardType 的枚举。 typedef NS_ENUM(NS
问题 我正在制作幻灯片。当我转到下一张幻灯片时,我会增加我的卡 ID,如下所示: cardId++; $('#card-' + (cardId)).show(); 我还有另一个 on keyup 监听
这是我的卡片结构头文件: #include "stdafx.h" enum Suits {clubs, diamonds, hearts, spades}; enum Ranks {two = 2,
请问gmail登录页面的div.card.signin-card.clearfix的css代码是多少?我只是 CSS 的初学者。提前致谢。 最佳答案 尝试借助 inspect 元素。 .clear
我正在尝试修改 Flutter 示例中的 cards_demo.dart。我的目的是不是将内置的两张卡片的高度固定为: static final double height=300.0(或一些强制和固
在Twitter上发布推文https://startcrowd.club时,我无法显示图像卡 但它在Facebook上完美运行。 我想出示这张卡:http://startcrowd.club/imag
有没有办法将 io.card.payment.DataEntryActivity 的 screenOrientation 设置为横向?我试图在 list 中设置它,但应用程序因错误而崩溃
有没有办法将 io.card.payment.DataEntryActivity 的 screenOrientation 设置为横向?我试图在 list 中设置它,但应用程序因错误而崩溃
我有一个宽度小于图像宽度的 block 。此图像用 Angular Material 的指令包裹: 我想保持该图像的纵横比,但这是我得到的: http
如果我有一个Web应用程序,并且接收到Web浏览器通过POST请求通过HTTPS通过POST请求传输的信用卡数据,并立即打开一个套接字(SSL)到远程PCI兼容卡处理器以转发数据并等待响应,我是否允许
我正在尝试制作一些新闻页面,以便在 Twitter 上共享时显示带有图像 (summary_large_image) 的 Twitter 卡片。我在页面上添加了必要的元标记。验证器说一切都很好,实际上
我正在与 Stripe 客户、订阅和卡合作。 现在,我有一个场景,客户可以拥有多张卡。 现在,客户添加了一张新卡。我必须将新添加的卡标记为 default_source。 所以我正在做的是 Map p
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 2 年前。
如何比较卡列表?我收到此错误,但我不知道这意味着什么或如何修复它。我得到的错误: the type 'Card' cannot be used as type parameter 'T' in gen
我写信给你是因为我在 PC 上用 Java 编写了一个带有椭圆曲线的签名算法,我想将它集成到 Java Card 上。在我的程序中,我使用加密库 BouncyCaSTLe。 所以我的问题如下:是否可以
我正在尝试将图像与描述它的文本并排放置: 但是,我正在尝试在 Angular 垫卡中执行此操作,并且我最初尝试使用 mat-card-content 来执行此操作,但失败了,所以我求助于调用 mat
我正在使用 Bootstrap 4 构建砖石卡片组。现在我有 3 列,其中有 3 张卡片。是否可以对每一列的最后一张卡片进行寻址? 我可以用下面的代码来定位牌组的最后一张牌: card-columns
我想在 Bootstrap 卡中的图像和卡体之间有一个边框。我有一个 CSS 如下- .card{ border-width: 6px; border-color: rgb(255, 255,
{{s.header}} {{s.Desc}}
我已将此卡数据添加到 this site : 但是,当我将链接粘贴到我的 twitter 帐户时,卡片不会呈现。 htt
我是一名优秀的程序员,十分优秀!