令牌放置

2024-03-20 11:38
文章标签 放置 令牌

本文主要是介绍令牌放置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

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

	public int bagOfTokensScore(int[] tokens, int P) {if (tokens == null || tokens.length == 0)return 0;// 排序Arrays.sort(tokens);int score = 0; // 分数int MaxScore = 0; // 最大得分int i = 0;for (i=0; i<tokens.length; i++){if (P >= tokens[i]){P -= tokens[i]; // 能量点减少score++; 	// 得分增加}elsebreak;}MaxScore = Math.max(MaxScore, score);// 能量点不足以翻开任何一张牌if (score == 0){return MaxScore;}int len = tokens.length;while (i != len){score--; // 使用一分,翻开最后的令牌P += tokens[len-1]; // 增加能量点len--; // 表示最后一个令牌已经使用过// 再次翻令牌for (int j=i; j<len; j++){if (P >= tokens[j]){P -= tokens[j];score++; }else{i = j; // 记录下次要翻牌的位置break;}}MaxScore = Math.max(MaxScore, score); // 再次比较}return MaxScore;}

 

这篇关于令牌放置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/829337

相关文章

cocos2d-x Android实现广告条竖立放置

 2:实现 原理:将屏幕设置为竖屏,然后CCDirector::setDeviceOrientation()设置为cocos2d-x为横屏。            在这种转屏模式下,控件是不会旋转的 缺点:所有Android原生控件仍然是竖立的 注意事项: ccTouchesBegan,ccTouchesMoved, ccTouchesEnded传入的坐标值仍然是屏幕坐标

谈谈经典限流方法—漏桶、令牌桶与Guava RateLimiter的实现

大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! 高并发的业务系统经常要接受大流量的考验,为了保证系统的响应度和稳定性,往往都需要对有风险的接口实施限流(rate limiting),更高大上的说法则是“流量整形”(traffic shaping)。限流的思想最初来源于计算机网络,有两种经典的方法:漏桶和令牌桶。本文先来稍微研究一下它们。

经典限流方法——漏桶、令牌桶与Guava RateLimiter的实现

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! 高并发的业务系统经常要接受大流量的考验,为了保证系统的响应度和稳定性,往往都需要对有风险的接口实施限流(rate limiting),更高大上的说法则是“流量整形”(traffic shaping)。限流的思想最初来源于计算机

C#自定义控件的放置与拖动

1、自定义控件 using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Drawing.Drawing2D;using System.Linq;using System.Text;using System.Threading

常用的限流算法-令牌桶(Token Bucket)php版

令牌桶(Token Bucket)是一种常用的限流算法,用于控制流量的速率。其核心思想是以固定速率向桶中放入令牌,当请求到来时,从桶中取走一定数量的令牌,如果桶中没有足够的令牌,则拒绝请求或进行排队等待。 下面是如何在 PHP 中实现一个简单的令牌桶算法。 1. 令牌桶的基本概念 令牌的生成速度:令牌以固定速率生成并加入到桶中。桶的容量:桶中可以容纳的最大令牌数,防止令牌无限增长。请求的消耗

EPLAN中手动放置线号的方法

EPLAN中手动放置线号的方法 如下图所示,点击插入---------连接定义点, 如果没有显示红色的"", 点击键盘上的backspace键,然后如下图所示,选择CDP即可显示,点击确定, 选择需要放置线号的导线,如下图所示,鼠标选中后放置在合适位置, 放置完成后,设置线号的名称等属性信息,

SpringSecurity Oauth2 - 密码模式完成身份认证获取令牌 [自定义UserDetailsService]

文章目录 1. 授权服务器2. 授权类型1. Password (密码模式)2. Refresh Token(刷新令牌)3. Client Credentials(客户端凭证模式) 3. AuthorizationServerConfigurerAdapter4. 自定义 TokenStore 管理令牌1. TokenStore 的作用2. CustomAuthenticationKeyGe

SpringSecurity Oauth2 - 密码认证获取访问令牌源码分析

文章目录 1. 授权服务器过滤器1. 常用的过滤器2. 工作原理 2. 密码模式获取访问令牌1. 工作流程2. 用户凭证验证1. ResourceOwnerPasswordTokenGranter2. ProviderManager3. CustomAuthProvider4. 认证后的结果 1. 授权服务器过滤器 在Spring Security中,OAuth2授权服务器

SpringSecurity Oauth2 - 访问令牌续期

文章目录 1. 访问令牌的续期2. CustomUserDetailsService3. 配置 AuthorizationServerEndpointsConfigurer4. 测试项目 1. 访问令牌的续期 在Spring Security OAuth2中,访问令牌的续期通常是通过使用**刷新令牌(Refresh Token)**来实现的。当访问令牌过期时,客户端可以使用之前

令牌桶算法:原理与代码实现

引言 令牌桶算法(Token Bucket Algorithm)是一种网络流量整形(Traffic Shaping)和速率限制(Rate Limiting)的算法。它能够限制数据传输的平均速率,同时允许某种程度的突发传输。在许多场景中,如网络带宽管理、API速率限制等,令牌桶算法都得到了广泛的应用。 原理 令牌桶算法的核心思想是使用一个虚拟的“桶”来存储令牌,每个令牌代表一个数据包的传输权限