查找在Python中以二进制字符串形式给出分数的游戏的获胜者

假设我们有一个二进制字符串表示排球比赛的得分,我们必须根据以下条件找到比赛的获胜者:

  • 有两支球队互相比赛,得分最高15分的球队将是获胜者,除非两支球队均达到14分。

  • 当两支球队当时都达到14分时,保持领先2分的球队将成为获胜者。

从给定的二进制字符串中,0表示团队失去积分,而1表示团队赢得积分。我们必须检查球队是赢还是输。

因此,如果输入像分数=“ 1001100110111001110011011”,那么输出将是团队获胜

为了解决这个问题,我们将遵循以下步骤-

  • score_cnt:= [0,0]

  • 对于范围在0到分数范围内的我,执行

    • score_cnt [0]:= 0

    • score_cnt [1]:= 0

    • 从循环中出来

    • 返回“团队获胜”

    • 返回“团队迷路”

    • pos:=(分数[i])的ASCII-('0')的ASCII

    • score_cnt [pos]:= score_cnt [pos] + 1

    • 如果score_cnt [0]与n和score_cnt [1] − n-1相同,则

    • 如果score_cnt [1]与n相同且score_cnt [0] <n-1,则

    • 如果score_cnt [0]与n-1相同,而score_cnt [1]与n-1相同,则

    • 我:=我+ 1

    • 对于我在分数范围内的我,做

      • 如果score_cnt [0]> score_cnt [1],则

      • 除此以外,

      • 返回“团队迷路”

      • 返回“团队获胜”

      • pos:=(分数[i])的ASCII-('0')的ASCII

      • score_cnt [pos]:= score_cnt [pos] + 1

      • 如果| score_cnt [0]-score_cnt [1] | 与2相同

      示例

      让我们看下面的实现以更好地理解-

      def predictWinner(score, n):

      score_cnt = [0,0]

         for i in range(len(score)):

            pos = ord(score[i]) - ord('0')

            score_cnt[pos] += 1

            if (score_cnt[0] == n and score_cnt[1] < n - 1):

               return "Team lost"

            if (score_cnt[1] == n and score_cnt[0] < n - 1):

               return "Team won"

            if (score_cnt[0] == n - 1 and

               score_cnt[1] == n - 1):

               score_cnt[0] = 0

               score_cnt[1] = 0

               break

         i += 1

         for i in range(i, len(score)):

            pos = ord(score[i]) - ord('0')

            score_cnt[pos] += 1

            if (abs(score_cnt[0] - score_cnt[1]) == 2):

               if (score_cnt[0] > score_cnt[1]):

                  return "Team lost"

               else:

                  return "Team won"

      score = "1001010101111011101111"

      n = 15

      print(predictWinner(score, n))

      输入值

      "1001010101111011101111"

      输出结果

      Team won

      以上是 查找在Python中以二进制字符串形式给出分数的游戏的获胜者 的全部内容, 来源链接: utcz.com/z/330995.html

      回到顶部