必威体育Betway必威体育官网
当前位置:首页 > IT技术

leetcode948. Bag of Tokens

时间:2019-08-26 01:41:07来源:IT技术作者:seo实验室小编阅读:83次「手机版」
 

tokens

题目链接

题目:你的初始能量为 P,初始分数为 0,只有一包令牌。

令牌的值为 token[i],每个令牌最多只能使用一次,可能的两种使用方法如下:

如果你至少有 token[i] 点能量,可以将令牌置为正面朝上,失去 token[i] 点能量,并得到 1 分。

如果我们至少有 1 分,可以将令牌置为反面朝上,获得 token[i] 点能量,并失去 1 分。

在使用任意数量的令牌后,返回我们可以得到的最大分数。

示例:

示例 1:

输入:tokens = [100], P = 50

输出:0

示例 2:

输入:tokens = [100,200], P = 150

输出:1

示例 3:

输入:tokens = [100,200,300,400], P = 200

输出:2

别人思路:先对tokens进行排序,然后从前面较小能量的值换分数,然后用分数换后面较大的能量,在从前面较小的能量值换分数,贪心算法

class Solution {
    public int bagOfTokensScore(int[] tokens, int P) {
        int left = 0;
        int right = tokens.length - 1;
        int res = 0;
        int points = 0;
        arrays.sort(tokens);
        while(left <= right){
            if(P >= tokens[left]){
                P -= tokens[left];
                left++;
                points++;
                res = Math.max(points, res);
            }else if(points > 0){
                P += tokens[right];
                right--;
                points--;
            }else{
                break;
            }
        }
        return res;
    }
}

相关阅读

JAVA布局模式:GridBagConstraints终极技巧

GridBagConstraints布局,先发一个实例:gridx = 2; // X2gridy = 0; // Y0gridwidth = 1; // 横占一个单元格gridheight = 1; // 列

adaboost、bagging、boosting的区别

Bagging和Boosting 概念及区别 Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器

JAVA布局模式:GridBagConstraints终极技巧参数详解

布局模式 :GridBagConstraints布局,先发一个实例:gridx = 2; // X2gridy = 0; // Y0gridwidth = 1; // 横占一个单元格gridheight =

分享到:

栏目导航

推荐阅读

热门阅读