LeetCode每日一题——2103. Rings and Rods
文章目录
- 一、题目
- 二、题解
一、题目
There are n rings and each ring is either red, green, or blue. The rings are distributed across ten rods labeled from 0 to 9.
You are given a string rings of length 2n that describes the n rings that are placed onto the rods. Every two characters in rings forms a color-position pair that is used to describe each ring where:
The first character of the ith pair denotes the ith ring’s color (‘R’, ‘G’, ‘B’).
The second character of the ith pair denotes the rod that the ith ring is placed on (‘0’ to ‘9’).
For example, “R3G2B1” describes n == 3 rings: a red ring placed onto the rod labeled 3, a green ring placed onto the rod labeled 2, and a blue ring placed onto the rod labeled 1.
Return the number of rods that have all three colors of rings on them.
Example 1:
Input: rings = “B0B6G0R6R0R6G9”
Output: 1
Explanation:
- The rod labeled 0 holds 3 rings with all colors: red, green, and blue.
- The rod labeled 6 holds 3 rings, but it only has red and blue.
- The rod labeled 9 holds only a green ring.
Thus, the number of rods with all three colors is 1.
Example 2:
Input: rings = “B0R0G0R9R0B0G0”
Output: 1
Explanation:
- The rod labeled 0 holds 6 rings with all colors: red, green, and blue.
- The rod labeled 9 holds only a red ring.
Thus, the number of rods with all three colors is 1.
Example 3:
Input: rings = “G4”
Output: 0
Explanation:
Only one ring is given. Thus, no rods have all three colors.
Constraints:
rings.length == 2 * n
1 <= n <= 100
rings[i] where i is even is either ‘R’, ‘G’, or ‘B’ (0-indexed).
rings[i] where i is odd is a digit from ‘0’ to ‘9’ (0-indexed).
二、题解
class Solution {
public:int countPoints(string rings) {int n = rings.size();unordered_map<int,vector<char>> map;char c;for(int i = 0;i < n;i++){if(i % 2 == 0) c = rings[i];else{int index = rings[i] - '0';if(map[index].size() == 0) map[index].push_back(c);else{bool exist = false;for(int j = 0;j < map[index].size();j++){if(map[index][j] == c) exist = true;}if(!exist) map[index].push_back(c);}}}int res = 0;for(int i = 0;i <= n / 2;i++){if(map[i].size() == 3) res++;}return res;}
};
相关文章:
LeetCode每日一题——2103. Rings and Rods
文章目录 一、题目二、题解 一、题目 There are n rings and each ring is either red, green, or blue. The rings are distributed across ten rods labeled from 0 to 9. You are given a string rings of length 2n that describes the n rings that are placed onto the…...
ant-design-vue form表单自定义校验规则
<a-form-itemlabel"市场价"class"status-barcode"name"marketPrice":rules"[{ required: true, message: },{ validator: validateNumber },]"><a-inputshow-count:maxlength"10"v-model:value"formState.ma…...
软件工程:小组开发过程技术(VS VSS UNIX C++)
(注:这个东西是2007年写的,算是个缅怀,或是个吐槽。所有注都是本次发布新加的。) 简介 本文讲述完全没有软件工程经验的软件小组如何借助VS VSS等工具为UNIX开发C程序,实现在小组规模的初级开发过程。这不…...
算法----从字符串中移除星号
题目 给你一个包含若干星号 * 的字符串 s 。 在一步操作中,你可以: 选中 s 中的一个星号。 移除星号 左侧 最近的那个 非星号 字符,并移除该星号自身。 返回移除 所有 星号之后的字符串。 注意: 生成的输入保证总是可以执行题…...
JVS低代码表单引擎助你打造高效表单设计流程
在日常的设计表单过程中,常常会有需要录入一大段文字的场景,例如评论、留言、产品介绍、内容说明等场景,那么简单的文本框组件就不满足了,这里JVS提供了 两种描述类型的组件,多行文本框和富文本组件,如下图…...
运行项目报错error in ./node_modules/marked/lib/marked.umd.js
今天跑项目时发现一个报错,问题出在marked这个包,然后翻看package.json里面也没有这个包,全局搜索项目也没有这个包相关的信息,可它就是报错,索性直接把它给卸载发现还是报错 报错原因:包的版本太高 解决…...
内置对象和方法、前端基础之BOM和DOM
内置对象和方法 RegExp对象 // 定义正则表达式两种方式 var reg1 new RegExp("^[a-zA-Z][a-zA-Z0-9]{5,11}"); var reg2 /^[a-zA-Z][a-zA-Z0-9]{5,9}$/;// 正则校验数据 reg1.test(jason666) reg2.test(jason666)/*第一个注意事项,正则表达式中不能有…...
内网穿透配置-Cpolar-Ngrok
文章目录 一、Cpolar1、cpolar软件的使用:(1)下载与安装(2)cpolar指定authtoken(3)获取临时域名(4)验证临时域名有效性 二、Ngrok1、配置内网穿透(1ÿ…...
Web前端自动化测试Cypress实践总结
本文主要首先主要介绍了什么是自动化测试,接着对常用的自动化测试框架进行了对比分析,最后,介绍了如果将自动化测试框架Cypress运用在项目中。 一、自动化测试概述 为了保障软件质量,并减少重复性的测试工作,自动化测…...
Nacos本地修改编译源码2.2.3
下载Nacos源码 由于github访问速度慢,所以在gitee上下载 git clone https://gitee.com/mirrors/Nacos.git切换2.2.3版本 git checkout 2.2.3或者直接下载2.2.3的源码 本地编译 源码导入idea,然后编译 mvn -Dmaven.test.skiptrue -Drat.skiptrue c…...
邦芒攻略:提升职场核心竞争力的7点建议
如何提高职场的核心竞争力,职场是由职场定位,以及竞争,合作,等各种关系构建起来的一个无形的圈子,职场一直以来竞争激烈,那么,该如何提高职场的核心竞争力? 1、首先要保持学习…...
Android 如何在Android studio中快速创建raw和assets文件夹
一 方案 1. 创建raw文件夹 切成project浏览模式——>找到res文件粘贴要放入raw文件夹下的文件。 当然此时raw文件还没有,直接在右侧输入框中出现的路径~\res后面加上\raw即可。 2. 创建assets文件夹 同理在main文件夹下粘贴要放入assets文件夹的文件࿰…...
功率放大器功能及用途介绍
功率放大器是一种用于将输入信号的电压放大到更高水平的电子设备。它在各个领域中发挥着重要作用,包括音频、通信、测量和控制等应用。下面Aigtek安泰电子将详细介绍功率放大器的功能及其主要用途。 图:ATA-3000系列功率放大器 功率放大器的功能介绍&…...
11.Linux系统:定时任务备份mysql数据库为文件并传输到其他服务器
1. 创建脚本 mysql_dumps.sh内容如下: #!/bin/bash # 查找名称为“mysql_mysql”的容器id CONTAINER_IDdocker ps -a | grep "mysql_mysql" | awk {print $1} | head -n 1 MYSQL_USERNAME"root" MYSQL_PASSWORD"root" FILENAME_SU…...
基于Python的豆瓣电影排行榜,可视化系统
1 简介 基于Python flask 的豆瓣电影数据获取,数据可视化系统,本系统朱亚奥包括了影视系统的爬虫与分析。影视是人们娱乐、放松心情的重要方式之一,因此对影视的分析具有重要的现实意义。通过采用Python编程语言,使用flask框架搭…...
Flink日志采集-ELK可视化实现
一、各组件版本 组件版本Flink1.16.1kafka2.0.0Logstash6.5.4Elasticseach6.3.1Kibana6.3.1 针对按照⽇志⽂件⼤⼩滚动⽣成⽂件的⽅式,可能因为某个错误的问题,需要看好多个⽇志⽂件,还有Flink on Yarn模式提交Flink任务,在任务执…...
iOS NSKeyedUnarchiver归档和读取
使用NSKeyedUnarchiver归档数据到本地,很多时候保存的并不是基础数据类型,更多是自己定义的Model。有时会碰到归档或者读取的内容跟自己保存的数据类型不匹配。 现在按照思路一步一步解决: 1.先保存文件 保存的数据的类型 #import <Fou…...
算法通关村第五关|青铜|基于链表实现队列
基于链表实现队列 public class LinkQueue {// front的next指向首部结点private Node front;// rear记录尾部结点private Node rear;private int size;public LinkQueue() {this.front new Node(0);this.rear new Node(0);}// 入队public void push(int value) {Node newNod…...
【Vue】使用v-model实现控制子组件显隐
v-model 可以实现双向绑定的效果,允许父组件控制子组件的显示/隐藏,同时允许子组件自己控制自身的显示/隐藏。以下是如何使用 v-model 实现这个需求: 在父组件中,你可以使用 v-model 来双向绑定一个变量,这个变量用于…...
一篇博客读懂顺序表 —— Sequence-List
目录 一、顺序表的初始定义 1.1新建头文件和源文件 1.2 SeqList.h 中的准备工作 二、顺序表的初始化与销毁 三、首尾插入元素 四、首尾删除元素 五、中间插入元素 六、中间删除元素 七、查找指定元素下标 八、源代码 一、顺序表的初始定义 1.1新建头文件和源文件 当我…...
技术赋能B端拓客:号码核验行业的迭代升级与价值深耕,
在数字经济持续深耕的当下,B端市场的竞争逻辑已发生根本性转变,“粗放拓客”逐渐被“精准高效”取代,企业对拓客全流程的效率与成本管控提出了更高要求。号码核验作为B端拓客的前置核心环节,其作用远不止于简单的空号筛查…...
【Matlab】MATLAB教程:图形属性修改(案例:set(h,‘Color‘,‘red‘),应用:自定义图形样式)
MATLAB教程:图形属性修改(案例:set(h,Color,red),应用:自定义图形样式) 在MATLAB数据可视化、实验报告绘图、工程结果展示等场景中,默认绘制的图形往往难以满足个性化需求和规范要求。无论是调整线条颜色、粗细,还是优化坐标轴、图例样式,核心目标都是通过图形属性修…...
ImageGlass:轻量级全能图像查看器的效率革命
ImageGlass:轻量级全能图像查看器的效率革命 【免费下载链接】ImageGlass 🏞 A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 价值定位:重新定义图像浏览体验 在数字内容爆炸的时代…...
魔法方法 __init__ 与 __new__ 的区别与使用场景
前言在 Python 中,魔法方法(也叫特殊方法)以双下划线开头和结尾,例如 __init__、__new__、__str__ 等。它们赋予了类许多“隐形”的能力,让我们能够像操作内置类型一样操作自定义对象。当谈到对象创建时,__…...
MiniCPM-o-4.5-nvidia-FlagOS跨平台部署:Windows系统配置要点
MiniCPM-o-4.5-nvidia-FlagOS跨平台部署:Windows系统配置要点 想在自己的Windows电脑上跑起来最新的MiniCPM-o-4.5-nvidia-FlagOS,结果被一堆环境问题卡住了?别急,这太正常了。很多朋友在Windows上部署这类AI项目时,总…...
Cursor 2.2的Visual Editor实战:如何像改Figma一样,5分钟重构一个Vue/React页面布局
Cursor 2.2的Visual Editor实战:如何像改Figma一样,5分钟重构一个Vue/React页面布局 重构老旧前端页面就像给老房子翻新——既要保留主体结构,又要让外观焕然一新。传统方式下,我们不得不在代码编辑器与浏览器之间反复切换&#x…...
comsol地热井周期性抽采回灌 浅层地热水利用,非均匀周期循环抽住。 夏季注热抽冷冬季注冷抽...
comsol地热井周期性抽采回灌 浅层地热水利用,非均匀周期循环抽住。 夏季注热抽冷冬季注冷抽热 comsol论文复现,建模指导地热井的周期性调度像极了呼吸运动。我盯着屏幕上跳动的温度场云图,突然意识到这种冷热交替的运作模式,本质上…...
如何通过智能求职助手提升职位时间筛选效率?揭秘高效求职新方法
如何通过智能求职助手提升职位时间筛选效率?揭秘高效求职新方法 【免费下载链接】boss-show-time 展示boss直聘岗位的发布时间 项目地址: https://gitcode.com/GitHub_Trending/bo/boss-show-time 在当今竞争激烈的就业市场中,职位时间筛选已成为…...
AI原生应用领域链式思考:构建高效应用架构
AI原生应用领域链式思考:构建高效应用架构 关键词:AI原生应用、链式思考、应用架构、大模型协同、上下文管理 摘要:本文从AI原生应用的核心特征出发,结合"链式思考"这一关键设计模式,系统讲解如何构建高效能…...
等保测评后,我的CentOS/Ubuntu服务器安全加固清单还加了这些
等保测评后,我的CentOS/Ubuntu服务器安全加固清单还加了这些 在完成等保测评基础整改后,许多安全工程师常陷入"合规即安全"的误区。实际上,等保要求只是安全基线的最低标准。本文将分享我在实际运维中积累的合规之上的实战加固技巧…...
