这是一个挑战,其中有两个人1和2正在竞选办公室。人们在1和2的世界中以确定的方式进行投票,这可以使候选人在选举前弄清楚结果。
注意:这并不表示任何外部选举或其他政治事件。
两个人正在竞选办公室。我们将这些人称为1和2。因为他们俩都想知道他们是否会赢得选举,所以他们决定使用他们对人的知识以及一些代码来确定结果。由于要尽量减少政府支出,因此代码必须尽可能短。
您的任务:根据一连串的投票方式,输出赢得选举的人。
在1和2的有趣和令人兴奋的世界中,共有五类人:
A
:肯定会投1票的人。B
:肯定会投赞成票2的人。X
:将投票支持的人,无论左边的人投票支持谁。如果他们的左边没有人,则他们投票给右边的人投票的人。如果不清楚其右边的人在为谁投票,则他们不会投票。Y
:人们会投票反对他们左边的那个人。如果他们的左边没有人,那么他们将投票反对右边的人。如果不清楚其右边的人在为谁投票,则他们不会投票。N
:不投票的人。
这是从左到右评估的。
例:
为了清楚起见,任何被“评估”的人都是小写字母。
Input: `XXAYAN`
xX Votes for whoever their friend is voting for. Their friend has not decided yet, so it is unclear, so they do not vote.
Xx Person to left is voting "none" so votes "none."
a Votes for 1
Ay Since person on left is voting for 1, votes for 2.
a Votes for 1
n Does not vote
最终民意调查:
2人投票赞成1
1人投票赞成2
3人未投票
1票最高,所以1胜!
测试用例:
您可以使用其他字符或值作为输入和输出,只要它们是不同的即可。(例如:数字而不是字母,不同的字母,小写字母,真/假或正/负(用于输出)等)
Input -> Output
"AAAA" -> 1
"BBBB" -> 2
"BBAXY" -> 2
"BAXYBNXBAYXBN" -> 2
"XXAYAN" -> 1
"AAAABXXXX" -> 2
"AXNXXXXAYB" -> 1
"NANNY" -> 1
"XA" -> 1
"YAB" -> 2
"XY" -> anything (do not need to handle test cases with no victor)
"AB" -> anything (do not need to handle test cases with no victor)
none
与相反的值。none
NY
XA
,XB
,YA
和YB
。