LeetCode 2038. 如果相邻两个颜色均相同则删除当前颜色

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

总共有 n 个颜色片段排成一列,每个颜色片段要么是 ‘A’ 要么是 ‘B’ 。
给你一个长度为 n 的字符串 colors ,其中 colors[i] 表示第 i 个颜色片段的颜色。

Alice 和 Bob 在玩一个游戏,他们 轮流 从这个字符串中删除颜色。Alice 先手

  • 如果一个颜色片段为 ‘A’ 且 相邻两个颜色 都是颜色 ‘A’ ,那么 Alice 可以删除该颜色片段。Alice 不可以 删除任何颜色 ‘B’ 片段。
  • 如果一个颜色片段为 ‘B’ 且 相邻两个颜色 都是颜色 ‘B’ ,那么 Bob 可以删除该颜色片段。Bob 不可以 删除任何颜色 ‘A’ 片段。
  • Alice 和 Bob 不能 从字符串两端删除颜色片段。
  • 如果其中一人无法继续操作,则该玩家 掉游戏且另一玩家 获胜 。

假设 Alice 和 Bob 都采用最优策略,如果 Alice 获胜,请返回 true,否则 Bob 获胜,返回 false。

示例 1:
输入:colors = "AAABABB"
输出:true
解释:
AAABABB -> AABABB
Alice 先操作。
她删除从左数第二个 'A' ,这也是唯一一个相邻颜色片段都是 'A''A' 。现在轮到 Bob 操作。
Bob 无法执行任何操作,因为没有相邻位置都是 'B' 的颜色片段 'B' 。
因此,Alice 获胜,返回 true 。示例 2:
输入:colors = "AA"
输出:false
解释:
Alice 先操作。
只有 2'A' 且它们都在字符串的两端,所以她无法执行任何操作。
因此,Bob 获胜,返回 false 。示例 3:
输入:colors = "ABBBBBBBAAA"
输出:false
解释:
ABBBBBBBAAA -> ABBBBBBBAA
Alice 先操作。
她唯一的选择是删除从右数起第二个 'A' 。ABBBBBBBAA -> ABBBBBBAA
接下来轮到 Bob 操作。
他有许多选择,他可以选择任何一个 'B' 删除。然后轮到 Alice 操作,她无法删除任何片段。
所以 Bob 获胜,返回 false 。提示:
1 <= colors.length <= 10^5
colors 只包含字母 'A''B'

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/remove-colored-pieces-if-both-neighbors-are-the-same-color
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 记录连续的 A 或者 B 的个数,然后可以操作的次数为 其数量 - 2,记录总的操作次数,Alice的操作次数必须大于 Bob
class Solution {
public:bool winnerOfGame(string colors) {int a = 0, b = 0, ct = 1;colors += "*";char prev = colors[0];for(int i = 1; i < colors.size(); ++i){if(prev != colors[i]){if(prev == 'A')a += max(0, ct-2);elseb += max(0, ct-2);ct = 1;}elsect++;prev = colors[i];}return a>b;}
};

28 ms 14.8 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/471601.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java代理的学习,通过类实现接口来实现代理。proxy来创建动态类,和InvocationHandler接口的实现,和工作原理。...

1、java自带的proxy类可以创建动态类&#xff0c;如果一个类实现了一个接口那么久可以为这个类创建代理。 2、代理&#xff1a;就是当用户要调用一个类的方法时&#xff0c;用户可以通过调用代理&#xff0c;代理通过接口调用原来的类的方法&#xff0c;代理在把方法给用户前可…

java 当前时间_Java 获取当前时间的小时(24小时制)

var myDate new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份(4位,1970-????)myDate.getMonth(); //获取当前月份(0-11,0代表1月)myDate.getDate(); //获取当前日(1-31)myDate.getDay(); //获取当前星期X(0-6,0代表星期天)myDate…

LeetCode 2039. 网络空闲的时刻(BFS)

文章目录1. 题目2. 解题1. 题目 给你一个有 n 个服务器的计算机网络&#xff0c;服务器编号为 0 到 n - 1 。 同时给你一个二维整数数组 edges &#xff0c;其中 edges[i] [ui, vi] 表示服务器 ui 和 vi 之间有一条信息线路&#xff0c;在 一秒 内它们之间可以传输 任意 数目…

C# 中的占位符本质

占位符本质 1、占位符是相对于String字符串类型而言的。 2、占位符其实就是调用String.Format()方法。把指定的变量拼接到定义好的字符串模板中组成新的字符串。转载于:https://www.cnblogs.com/weber4444/p/4789340.html

java impala_Java实现impala操作kudu

packagecn.itcast.impala.impala;import java.sql.*;public classContants {private static String JDBC_DRIVER"com.cloudera.impala.jdbc41.Driver";private static String CONNECTION_URL"jdbc:impala://node1:21050/default;authnoSasl";//定义数据库连…

java webservice 服务器_java如何写webservice服务端

展开全部Java 中的 Web Service 分为基于 SOAP 的和基于 REST 的两种&#xff0c;下面简单说一个基于 SOAP 的例子。要使用 JDK6u4 之后e69da5e6ba903231313335323631343130323136353331333335313231的版本才能编译通过。先编写一个 Web Service 的接口&#xff1a;WebServiceS…

LeetCode 2040. 两个有序数组的第 K 小乘积(嵌套二分查找)

文章目录1. 题目2. 解题1. 题目 给你两个 从小到大排好序 且下标从 0 开始的整数数组 nums1 和 nums2 以及一个整数 k &#xff0c;请你返回第 k &#xff08;从 1 开始编号&#xff09;小的 nums1[i] * nums2[j] 的乘积&#xff0c;其中 0 < i < nums1.length 且 0 <…

数据库SQL优化大总结之 百万级数据库优化方案(转载)

原文地址&#xff1a;http://www.cnblogs.com/yunfeifei/p/3850440.html 网上关于SQL优化的教程很多&#xff0c;但是比较杂乱。近日有空整理了一下&#xff0c;写出来跟大家分享一下&#xff0c;其中有错误和不足的地方&#xff0c;还请大家纠正补充。 这篇文章我花费了大量的…

java 重写session_关于session的实现:cookie与url重写

本文讨论的语境是java EE servlet。我们都知道session的实现主要两种方式&#xff1a;cookie与url重写&#xff0c;而cookie是首选(默认)的方式&#xff0c;因为各种现代浏览器都默认开通cookie功能&#xff0c;但是每种浏览器也都有允许cookie失效的设置。由于浏览器默认启动c…

LeetCode 2042. 检查句子中的数字是否递增

文章目录1. 题目2. 解题1. 题目 句子是由若干 token 组成的一个列表&#xff0c;token 间用 单个 空格分隔&#xff0c;句子没有前导或尾随空格。 每个 token 要么是一个由数字 0-9 组成的不含前导零的 正整数 &#xff0c;要么是一个由小写英文字母组成的 单词 。 示例&…

如何在本地搭建svn本地版本库

前提&#xff1a; 安装SVN版本软件 步骤1&#xff1a; rootdebian:svnadmin create /home/svn/back_trunk/rootdebian:cd back_trunk/conf/rootdebian:/home/svn/back_trunk/conf# lsauthz passwd svnserve.conf修改/增加上述三个文件如下&#xff1a; svnserve.conf: anon-acc…

java shiro security_安全框架Shiro和SpringSecurity的比较

两个基本的概念安全实体&#xff1a;系统需要保护的具体对象数据权限&#xff1a;系统相关的功能操作&#xff0c;例如基本的CRUDShiro首先Shiro较之 Spring Security&#xff0c;Shiro在保持强大功能的同时&#xff0c;还在简单性和灵活性方面拥有巨大优势。Shiro是一个强大而…

LeetCode 2043. 简易银行系统

文章目录1. 题目2. 解题1. 题目 你的任务是为一个很受欢迎的银行设计一款程序&#xff0c;以自动化执行所有传入的交易&#xff08;转账&#xff0c;存款和取款&#xff09;。 银行共有 n 个账户&#xff0c;编号从 1 到 n 。每个账号的初始余额存储在一个下标从 0 开始的整数…

LeetCode 2044. 统计按位或能得到最大值的子集数目(状态压缩DP)

文章目录1. 题目2. 解题1. 题目 给你一个整数数组 nums &#xff0c;请你找出 nums 子集 按位或 可能得到的 最大值 &#xff0c;并返回按位或能得到最大值的 不同非空子集的数目 。 如果数组 a 可以由数组 b 删除一些元素&#xff08;或不删除&#xff09;得到&#xff0c;则…

往java里输入坐标值_java.让用户输入x坐标,和y坐标。当用户输入完x坐标(比如200),敲enter,...

展开全部import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JTextField;import javax.swing.SwingConstants;public class SetLocationFrame exte…

iOS 5.1.1 设备不能安装AdHoc问题版本号

之前苹果更新了审计规范&#xff0c;要求必须支持64通过苹果的审核权限位架构的应用。但运营商表示反馈。使用iOS5.1.1该系统无法安装我们的包Adhoc版本号。认为非常莫名。由于我们在Deployment Target上确实写着5.1.1&#xff0c;全公司也都没人用这个系统了。在运营纠结这个问…

fastapi 请求体 - 多个参数 / 字段Field / 嵌套模型

文章目录1. 混合使用 Path、Query 和请求体参数2. 多个请求体参数3. 请求体中的单一值4. 多个请求体参数和查询参数5. 嵌入单个请求体参数6. 字段7. 嵌套模型7.1 List 字段7.2 子模型作为类型8. 特殊类型校验9. 带有一组子模型的属性10. 任意 dict 构成的请求体learn from http…

g++: command not found的解决

G没有装或却没有更新以下方法都可以试试&#xff1a;centos&#xff1a;yum -y update gccyum -y install gcc gcc-cubuntu&#xff1a;apt-get update gccapt-get install g转载于:https://www.cnblogs.com/babosa/p/9217963.html

java ltpa_LTPA Cookie原理

1. 什么是LTPA?Lightweight Third-Party Authentication (LTPA)是IBM Websphere和Domino产品中使用单点登录技术。当服务器配置好LTPA认证方式&#xff0c;用户通过浏览器成功登录后&#xff0c;服务器会自动发送一个session cookie给浏览器&#xff1b;此cookie中包含一个LTP…

fastapi 模式的额外信息,示例 / Cookie参数 / Header参数

文章目录1. Pydantic schema_extra2. Field 的附加参数3. Body 额外参数4. Cookie 参数5. Header 参数5.1 重复的 headerslearn from https://fastapi.tiangolo.com/zh/tutorial/schema-extra-example/ 添加一个将在文档中显示的 example 1. Pydantic schema_extra from typ…