LeetCode 2212. 射箭比赛中的最大得分(状态枚举)
文章目錄
- 1. 題目
- 2. 解題
1. 題目
Alice 和 Bob 是一場射箭比賽中的對手。比賽規(guī)則如下:
Alice 先射 numArrows 支箭,然后 Bob 也射 numArrows 支箭。
分數(shù)按下述規(guī)則計算:
- 箭靶有若干整數(shù)計分區(qū)域,范圍從 0 到 11 (含 0 和 11)。
- 箭靶上每個區(qū)域都對應一個得分 k(范圍是 0 到 11),Alice 和 Bob 分別在得分 k 區(qū)域射中 ak 和 bk 支箭。
- 如果 ak >= bk ,那么 Alice 得 k 分。如果 ak < bk ,則 Bob 得 k 分
- 如果 ak == bk == 0 ,那么無人得到 k 分。
例如,Alice 和 Bob 都向計分為 11 的區(qū)域射 2 支箭,那么 Alice 得 11 分。如果 Alice 向計分為 11 的區(qū)域射 0 支箭,但 Bob 向同一個區(qū)域射 2 支箭,那么 Bob 得 11 分。
給你整數(shù) numArrows 和一個長度為 12 的整數(shù)數(shù)組 aliceArrows ,該數(shù)組表示 Alice 射中 0 到 11 每個計分區(qū)域的箭數(shù)量。
現(xiàn)在,Bob 想要盡可能 最大化 他所能獲得的總分。
返回數(shù)組 bobArrows ,該數(shù)組表示 Bob 射中 0 到 11 每個 計分區(qū)域的箭數(shù)量。且 bobArrows 的總和應當?shù)扔?numArrows 。
如果存在多種方法都可以使 Bob 獲得最大總分,返回其中 任意一種 即可。
示例 1:
示例 2:
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/maximum-points-in-an-archery-competition
著作權歸領扣網(wǎng)絡所有。商業(yè)轉載請聯(lián)系官方授權,非商業(yè)轉載請注明出處。
2. 解題
- 用 12位的 int 表示 bob 能贏下來的位置
- 分別檢查需要的 箭的數(shù)量是否足夠,取出得分最大的狀態(tài)即可
52 ms 9.6 MB C++
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode 2212. 射箭比赛中的最大得分(状态枚举)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 2120. 执行所有后
- 下一篇: LeetCode 1796. 字符串中第