原题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
C++代码
常规文章来源:https://www.toymoban.com/news/detail-741517.html
class Solution {
public:
int countPoints(string rings) {
int count = 0;
set<string>se[10];
for(int i=1,j=0;i<rings.length();i+=2,j+=2){
se[rings[i]-'0'].insert(to_string(rings[j]));
}
for(int i=0;i<10;i++){
if(se[i].size()==3) count++;
}
return count;
}
};
Python代码
位运算文章来源地址https://www.toymoban.com/news/detail-741517.html
class Solution:
def countPoints(self, rings: str) -> int:
n,count = len(rings),0
binary_map = [0]*17 # R - B = 17
for i in range(0,n,2):
binary_map[ord(rings[i]) - ord('B')] |= 1 << (int(rings[i+1]) - int('0'))
for i in range(10):
tmp = 0
for ch in ['R','G','B']:
tmp += (binary_map[ord(ch)-ord('B')] >> i) & 1 #第i根杆 上是否有ch颜色的圈
if tmp == 3:
count += 1
return count
到了这里,关于LeetCode 2103.环和杆的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!