【LeetCode:2103. 环和杆 | 模拟】

这篇具有很好参考价值的文章主要介绍了【LeetCode:2103. 环和杆 | 模拟】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【LeetCode:2103. 环和杆 | 模拟】,LeetCode每日一题打卡,leetcode,算法,java,模拟,计数

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域新星创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

【LeetCode:2103. 环和杆 | 模拟】,LeetCode每日一题打卡,leetcode,算法,java,模拟,计数

【LeetCode:2103. 环和杆 | 模拟】,LeetCode每日一题打卡,leetcode,算法,java,模拟,计数

🚩 题目链接

  • 2103. 环和杆

⛲ 题目描述

总计有 n 个环,环的颜色可以是红、绿、蓝中的一种。这些环分别穿在 10 根编号为 0 到 9 的杆上。

给你一个长度为 2n 的字符串 rings ,表示这 n 个环在杆上的分布。rings 中每两个字符形成一个 颜色位置对 ,用于描述每个环:

第 i 对中的 第一个 字符表示第 i 个环的 颜色(‘R’、‘G’、‘B’)。
第 i 对中的 第二个 字符表示第 i 个环的 位置,也就是位于哪根杆上(‘0’ 到 ‘9’)。
例如,“R3G2B1” 表示:共有 n == 3 个环,红色的环在编号为 3 的杆上,绿色的环在编号为 2 的杆上,蓝色的环在编号为 1 的杆上。

找出所有集齐 全部三种颜色 环的杆,并返回这种杆的数量。

【LeetCode:2103. 环和杆 | 模拟】,LeetCode每日一题打卡,leetcode,算法,java,模拟,计数
【LeetCode:2103. 环和杆 | 模拟】,LeetCode每日一题打卡,leetcode,算法,java,模拟,计数

示例 3:

输入:rings = “G4”
输出:0
解释:
只给了一个环,因此,不存在集齐全部三种颜色环的杆。

提示:

rings.length == 2 * n
1 <= n <= 100
如 i 是 偶数 ,则 rings[i] 的值可以取 ‘R’、‘G’ 或 ‘B’(下标从 0 开始计数)
如 i 是 奇数 ,则 rings[i] 的值可以取 ‘0’ 到 ‘9’ 中的一个数字(下标从 0 开始计数)

🌟 求解思路&实现代码&运行结果


⚡ 模拟

🥦 求解思路
  1. 题目让我们统计每一个杆上都有三种颜色环的杆子的数量。
  2. 所以,我们可以开辟3个同样大小的数组,统计每个杆子上对应的不同颜色的环的数量。最后,如果每个位置上3个环的数量都大于0,那么最终的答案+1。遍历结束,返回最终的结果即可。
  3. 实现代码如下。
🥦 实现代码
class Solution {
    public int countPoints(String rings) {
        int[] r=new int[10],g=new int[10],b=new int[10];
        int num=0;
        char[] ans=rings.toCharArray();
        for(int i=0;i<ans.length;i+=2){
            int index=ans[i+1]-'0';
            if(ans[i]=='R'){
                r[index]++;
            }else if(ans[i]=='G'){
                g[index]++;
            }else{
                b[index]++;
            }
        }
        for(int i=0;i<10;i++){
            if(r[i]!=0&&g[i]!=0&&b[i]!=0) num++;
        }
        return num;
    }
}
🥦 运行结果

【LeetCode:2103. 环和杆 | 模拟】,LeetCode每日一题打卡,leetcode,算法,java,模拟,计数


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

【LeetCode:2103. 环和杆 | 模拟】,LeetCode每日一题打卡,leetcode,算法,java,模拟,计数

【LeetCode:2103. 环和杆 | 模拟】,LeetCode每日一题打卡,leetcode,算法,java,模拟,计数文章来源地址https://www.toymoban.com/news/detail-741518.html

到了这里,关于【LeetCode:2103. 环和杆 | 模拟】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023年7月3日leetcode每日一题打卡——136.只出现一次的数字

    136. 只出现一次的数字 - 力扣(LeetCode) 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现 线性时间复杂度 的算法来解决此问题,且该算法 只使用常量额外空间 。 示例1: 示例2: 示

    2024年02月12日
    浏览(41)
  • LeetCode·每日一题·2544. 交替数字和·模拟

    作者:小迅 链接:https://leetcode.cn/problems/alternating-digit-sum/solutions/2341276/mo-ni-zhu-shi-chao-ji-xiang-xi-by-xun-ge-7fjq/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。     题意 - 给定一个数字,将数字按位分解,按最高位取 +,之后

    2024年02月15日
    浏览(48)
  • 【Leetcode每日一题】模拟 - 数青蛙(难度⭐⭐)(54)

    1. 题目解析 题目链接:1419. 数青蛙 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 一、模拟青蛙叫声的基本逻辑 在模拟青蛙叫声的过程中,我们需要遵循一定的规则来判断何时青蛙会发出声音。具体规则如下: 当遇到字符序列 \\\'r\\\'、

    2024年04月11日
    浏览(38)
  • LeetCode·每日一题·415. 字符串相加·模拟

    作者:小迅 链接:https://leetcode.cn/problems/add-strings/solutions/2347085/mo-ni-zhu-shi-chao-ji-xiang-xi-by-xun-ge-fges/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。   题意 - 给定二个字符串,计算它们的和并同样以字符串形式返回。 直接从

    2024年02月16日
    浏览(43)
  • 【Py/Java/C++三种语言详解】LeetCode每日一题240123【模拟】LeetCode2765、最长交替子数组

    LeetCode2765、最长交替子数组 给你一个下标从 0 开始的整数数组 nums 。如果 nums 中长度为 m 的子数组 s 满足以下条件,我们称它是一个 交替子数组 : m 大于 1 。 s(1) = s(0) + 1 。 下标从 0 开始的子数组 s 与数组 [s(0), s(1), s(0), s(1),...,s((m-1) % 2)] 一样。也就是说, s(1) - s(0) = 1 ,

    2024年01月24日
    浏览(42)
  • leetcode每日一题44

    图论 dfs/bfs dfs代码框架 思路:本题要求找到被x围绕的陆地,所以边界的陆地O肯定不符合条件。那么我们只要从周边找到陆地O然后 通过 dfs或者bfs 将周边靠陆地且相邻的陆地O都变成A,然后再去重新遍历地图的时候,把剩下的O变成X,再把所有的A变成O。 确认递归函数,参数

    2024年01月19日
    浏览(45)
  • 每日一题:leetcode 57 插入区间

    给你一个  无重叠的  , 按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 1: 示例 2: 示例 3: 示例 4: 示例 5: 提示: 0 = intervals.length = 104 intervals[i].length == 2 0 = int

    2024年02月11日
    浏览(46)
  • 【每日一题】Leetcode - 283. 移动零

    Leetcode - 283. 移动零 从右向左遍历,遇到0,就将后面所有元素前移,同时更新长度,使其减1,因为移动n次,倒数n位就被0占据,后续操作可忽略 前面的操作,从右向左,每次遇到0移动都要跑半个数组,慢在整体前移; 换个思路,从左向右,记录首个0的位置,将后面的第一

    2024年02月11日
    浏览(45)
  • 【LeetCode每日一题】——566.重塑矩阵

    矩阵 简单 566.重塑矩阵 在 MATLAB 中,有一个非常有用的函数 reshape ,它可以将一个 m x n 矩阵重塑为另一个大小不同(r x c)的新矩阵,但保留其原始数据。 给你一个由二维数组 mat 表示的 m x n 矩阵,以及两个正整数 r 和 c ,分别表示想要的重构的矩阵的行数和列数。 重构后

    2024年02月14日
    浏览(47)
  • 【LeetCode每日一题】——575.分糖果

    哈希表 简单 575.分糖果 Alice 有 n 枚糖,其中第 i 枚糖的类型为 candyType[i] 。Alice 注意到她的体重正在增长,所以前去拜访了一位医生。 医生建议 Alice 要少摄入糖分,只吃掉她所有糖的 n / 2 即可(n 是一个偶数)。Alice 非常喜欢这些糖,她想要在遵循医生建议的情况下,尽可

    2024年02月13日
    浏览(76)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包