免费html网站模板,深圳专业建网站公司排行,公众号模板制作精美,wordpress评论显示分页题目 总计有 n 个环#xff0c;环的颜色可以是红、绿、蓝中的一种。这些环分别穿在 10 根编号为 0 到 9 的杆上。 给你一个长度为 2n 的字符串 rings #xff0c;表示这 n 个环在杆上的分布。rings 中每两个字符形成一个 颜色位置对 #xff0c;用于描述每个环#xff1a; …题目 总计有 n 个环环的颜色可以是红、绿、蓝中的一种。这些环分别穿在 10 根编号为 0 到 9 的杆上。 给你一个长度为 2n 的字符串 rings 表示这 n 个环在杆上的分布。rings 中每两个字符形成一个 颜色位置对 用于描述每个环 第 i 对中的 第一个 字符表示第 i 个环的 颜色R、G、B。 第 i 对中的 第二个 字符表示第 i 个环的 位置也就是位于哪根杆上0 到 9。 例如R3G2B1 表示共有 n 3 个环红色的环在编号为 3 的杆上绿色的环在编号为 2 的杆上蓝色的环在编号为 1 的杆上。 找出所有集齐 全部三种颜色 环的杆并返回这种杆的数量 解题思路
通过遍历收集每个杆上存在的颜色种类选择存储数据的容器Map加Set进行收集和去重
代码展示
class Solution {public int countPoints(String rings) {int sum 0;MapInteger, SetCharacter data new HashMap();for (int i 1; i rings.length(); i 2){SetCharacter temp data.getOrDefault(rings.charAt(i) - 48, new HashSet());temp.add(rings.charAt(i - 1));data.put(rings.charAt(i) - 48, temp);}for (SetCharacter set : data.values()){if(set.size() 3){sum;}}return sum;}
}