[Swift Weekly Contest 112]LeetCode948. 令牌放置 | Bag of Tok
发布时间:2020-12-14 05:09:40 所属栏目:百科 来源:网络整理
导读:You have an initial power? P ,an initial score of? 0 ?points,and a bag of tokens. Each token can be used at most once,has a value? token[i] ,and has potentially two ways to use it. If we have at least? token[i] ?power,we may play the token
You have an initial power? Each token can be used at most once,has a value?
Return the largest number of points we can have after playing any number of tokens. Example 1: Input: tokens = [100],P = 50 Output: 0
Example 2: Input: tokens = [100,200],P = 150 Output: 1
Example 3: Input: tokens = [100,200,300,400],P = 200 Output: 2
?Note:
你的初始能量为? 令牌的值为?
在使用任意数量的令牌后,返回我们可以得到的最大分数。 示例 1: 输入:tokens = [100],P = 50 输出:0 示例 2: 输入:tokens = [100,P = 150 输出:1 示例 3: 输入:tokens = [100,P = 200 输出:2 提示:
76ms 1 class Solution { 2 func bagOfTokensScore(_ tokens: [Int],_ P: Int) -> Int { 3 var tokens = tokens.sorted(by:<) 4 var P = P 5 if tokens.count == 0 || P < tokens[0] 6 { 7 return 0 8 } 9 var n:Int = tokens.count 10 var p:Int = 0 11 var point:Int = 0 12 var ret:Int = 0 13 for i in 0...n 14 { 15 if i > 0 16 { 17 P += tokens[n-i] 18 point -= 1 19 } 20 while(p < n-i && P >= tokens[p]) 21 { 22 P -= tokens[p] 23 point += 1 24 p += 1 25 } 26 if p <= n-i 27 { 28 ret = max(ret,point) 29 } 30 } 31 return ret 32 } 33 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |