题目来源:
leetcode题目,网址:2103. 环和杆 - 力扣(LeetCode)
解题思路:
反复遍历字符串,判断每个杆上的环是否有三种颜色即可。
解题代码:
class Solution {
public int countPoints(String rings) {
int res=0;
for(int i=0;i<10;i++){
Set<Character> set=new HashSet<>();
for(int j=1;j<rings.length();j=j+2){
if(rings.charAt(j)-'0'==i){
set.add(rings.charAt(j-1));
}
}
if(set.size()==3){
res++;
}
}
return res;
}
}
总结:
官方题解是一次遍历,维护杆的状态。最低位保存一种颜色的状态,次低位保存另一种颜色的状态 ,再次位保存最后一种颜色的状态。做过这种类型的题目,要用的时候常常忘记。
rings 环
rods 杆
distribute 分发