首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哈普先生,需要投资者尽快

哈普先生,需要投资者尽快
EN

Code Golf用户
提问于 2021-04-27 03:44:49
回答 9查看 6.6K关注 0票数 14

Bob有一家初创公司正在开发一种使用“高级人工智能”和“黑魔法”自动编码高尔夫计算机程序的产品。不幸的是,鲍勃的现金用完了,他迫切需要投资者的资金来维持他的公司的运营。Bob联系过的每一位投资者都希望在一定的开始和结束时间内安排一次会议。然而,有些会议时间彼此冲突。鲍勃希望与尽可能多的投资者见面,这样他就能筹集到最多的资金。考虑到Bob一次只能见一个投资者,那么Bob能见多少个投资者?

输入格式

输入是一组对(或在您所选择的语言中等效的)。每对p代表一个投资者,其中p[0]是投资者会议的开始时间,p[1]是结束时间。

例如,在测试用例[(0,10),(5,10),(12,13)]中,有三个投资者:一个希望从时间0到时间10见面,一个想从第5到第10时间见面,还有一个希望在12到13时间见面的投资者。会议总是有一个积极的持续时间,而在时间结束时结束的会议与从time k开始的会议没有冲突。

您可以使用任何合理的I/O方法进行输入。

测试用例

代码语言:javascript
复制
[(0,10),(5,10),(12,13)] => 2 (investors 1 and 3)

[(10,20),(10,20),(20,30),(15,25)] => 2 (investors 1 and 3)

[(0,3),(1,5),(1,5),(1,5),(4,9),(6,12),(10,15),(13,18),(13,18),(13,18),(17,19)] => 4 (investors 1,5,7 and 11)

[(1,1000),(1,2),(2,3),(3,4),(4,5),(5,6),(6,7)] => 6 (every investor except the first)

[(1,2),(101,132),(102,165),(3,9),(10,20),(21,23),(84,87)] => 6 (investors 1,2,4,5,6,7)

输出

您的程序应该输出一个整数,即Bob可以会见的最大投资者数量。

标准漏洞是禁止的。这是密码-高尔夫,所以每种语言中最短的解决方案都是赢家。

EN

回答 9

Code Golf用户

发布于 2021-04-27 05:45:42

Wolfram语言(数学),49字节

代码语言:javascript
复制
If[#==0m,1,1+#0[#.m]]&[m=Boole[#>=#2&~Outer~##]]&

在网上试试!

输入[{starting times}, {ending times}]

找出功率最小的n,使得M^n=\mathbf{0},其中M是一个邻接矩阵,表示可能的下一次会议。

票数 14
EN

Code Golf用户

发布于 2021-04-27 05:47:05

Python 2,54字节

代码语言:javascript
复制
f=lambda l,t=0:max([1+f(l,b)for a,b in l if a>=t]+[0])

在网上试试!

票数 10
EN

Code Golf用户

发布于 2021-04-27 11:24:56

果冻,8字节

代码语言:javascript
复制
<þ¬æ×Ƭ`L
代码语言:javascript
复制
<þ¬æ×Ƭ`L
<þ        outer product less than
  ¬       negate (outer product greater than or equal to)
   æ×     matrix multiply
     Ƭ`   apply until converged using itself as the left argument
       L  length

用数学答案的方法https://codegolf.stackexchange.com/a/224523/95516去投票吧!

在网上试试!

票数 6
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/224515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档