一、题目

二、思路(自己)

  • 值得注意的是,题目给出了一个条件不能从字符串两端删除颜色片段。从示例可以理解的是,跳过首个字符和末个字符,从中间开始进行计算。
  • 按照一般的方法的话就是:搜索相同的连续字符串,然后计算A和B连续字符串的个数和。比较大小即可。
  • 发现理解错题意了,不饿能删除字符串两端的颜色是指要三个相同的连续然后删除中间的。
class Solution {public boolean winnerOfGame(String colors) {int anum=0,bnum=0;if(colors.length()<=2) return false;String s=colors.substring(1,colors.length()-1);char[] c=s.toCharArray();for (int i = 0; i < c.length-1; i++) {if(c[i]==c[i+1]){if(c[i]=='A') anum++;else bnum++;}}if(anum>bnum) return true;else return false;}
}

  • 怪不得这个示例出错了。修改代码后为
class Solution {public boolean winnerOfGame(String colors) {int anum=0,bnum=0;if(colors.length()<=2) return false;char[] c=colors.toCharArray();for (int i = 1; i < c.length-1; i++) {if(c[i]==c[i-1]&&c[i]==c[i+1]){if(c[i]=='A') anum++;else bnum++;}}return anum-bnum>0;}
}

  • 这个题目太简单了,比很多简单题都要简单很多!不知道官方为什么要给他定义为中等题

三、题解(官方)

官方答案思路差不多,感觉写的比我大还复杂一些,我就不贴了。加油加油!!!(ง •_•)ง

PS:不过我刚才看见评论区有一个挺好的代码,也听整洁的,贴上:

class Solution {public boolean winnerOfGame(String colors) {int count = 0;for(int i = 0; i < colors.length()-2; i++){if(colors.substring(i,i+3).equals("AAA")) count++;if(colors.substring(i,i+3).equals("BBB")) count--;}return count > 0;}
}

D21 LeetCode 2038.如果相邻两个颜色均相同则删除当前颜色(中等)相关推荐

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

    5886. 如果相邻两个颜色均相同则删除当前颜色 总共有 n 个颜色片段排成一列,每个颜色片段要么是 'A' 要么是 'B' .给你一个长度为 n 的字符串 colors ,其中 colors[i] ...

  2. 力扣解法汇总2038- 如果相邻两个颜色均相同则删除当前颜色

    目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描 ...

  3. LeetCode简单题之两栋颜色不同且距离最远的房子

    题目 街上有 n 栋房子整齐地排成一列,每栋房子都粉刷上了漂亮的颜色.给你一个下标从 0 开始且长度为 n 的整数数组 colors ,其中 colors[i] 表示第 i 栋房子的颜色. 返回 两栋 ...

  4. Leetcode(24)——两两交换链表中的节点

    Leetcode(24)--两两交换链表中的节点 题目 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 示例 1: ...

  5. LeetCode实战:合并两个有序数组

    题目英文 Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. No ...

  6. LeetCode实战:寻找两个有序数组的中位数

    题目英文 There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of th ...

  7. 4、题目要求:读入N名学生的成绩,将获得某一给定分数的学生人数输出。 * * 输入格式:测试输入包含若干测试用例,每个测试用例的格式为 第1行:N 第2行:N名学生的成绩,相邻两数字用一个

    题目: /* 4.题目要求:读入N名学生的成绩,将获得某一给定分数的学生人数输出. 输入格式:测试输入包含若干测试用例,每个测试用例的格式为   第1行:N   第2行:N名学生的成绩,相邻两数字用一 ...

  8. php设置背景为透明,css如何设置背景颜色透明?css设置背景颜色透明度的两种方法介绍...

    在网页布局中有时为了网页的整体美观,可能需要将网页中的某些部分设置为背景颜色透明,那么如何设置背景颜色透明呢?本篇文章就来给大家介绍一下css设置背景颜色透明的方法. 在css中设置背景颜色透明的方法 ...

  9. 在隧道内放置多个地感线圈,车辆通过时、对通过的相邻两个线圈的脉冲信号数据进行实时采集,首先利用云模型算法,计算得到车速的估计值

    1.简介与仿真结论 在隧道内放置多个地感线圈(间距相同),车辆通过时.对通过的相邻两个线圈(或单线圈)的脉冲信号数据进行实时采集,首先利用云模型算法(正向云与逆向云算法结合)或其他,计算得到车速的估计 ...

最新文章

  1. R语言ggplot2可视化多行文本轴标签、轴标签带下标、轴标签数学公式实战
  2. 1041. 考试座位号(15)
  3. linux下无root权限使用yum安装的方法
  4. STM32,CAN总线过滤器的设置详细讲解
  5. Springboot : RequestContextHolder
  6. python中dump用法_python中json庫中的load、loads、dump、dumps的區別與用法
  7. Excel 作复合饼图和双轴柱形图
  8. C++ lambda表达式 std::function 深层详解
  9. p语言是python吗-为什么说Python是一门动态语言--Python的魅力
  10. 第一类丢失更新和第二类丢失更新是什么 区别
  11. 每个项目都不同:支持一个摄像头,到现在还没搞好
  12. 如何使用计算机来线性拟合,非线性数据拟合
  13. 32位计算机精度,32位计算机和64位计算机有多大区别!
  14. 怎样能用计算机打出表白数字,数字表白大全 怎么用数字表白
  15. docker防止fork炸弹
  16. uni-app 超详细教程(三)(从菜鸟到大佬)
  17. 改变自己—兄弟连IT教育
  18. 使用Kali Linux虚拟机破解WiFi密码的一波三折及详细操作步骤
  19. 晋中中学计算机学院怎么样,山西晋中称霸一方的5所高中,其中3所是省重点中学,你知道几所?...
  20. 人工神经网络和深度神经网络

热门文章

  1. 社区医院信息系统的设计与实现
  2. 交叉编译工具的使用说明
  3. 【阿里云资讯】作战指挥系统碾压美军?!阿里双11破千亿背后的重大机密......
  4. 1688商品sku采集抓取实现方法
  5. CSDN【精品专栏】第七期
  6. Excel办公常用函数:6大类型,共计64个!
  7. 学编程很枯燥_技术文档不必很枯燥
  8. 第二部分 区块链的应用
  9. linux网络编程 epoll水平触发、边沿触发、反应堆模型、线程池思想
  10. 计算机867怎么学,2018年考研湖南大学867计算机系统考试大纲