/**
* @author xnl
* @Description:
* @date: 2022/6/19 22:53
*/
public class Solution {
public static void main(String[] args) {
Solution solution = new Solution();
String rings = "B0B6G0R6R0R6G9";
System.out.println(solution.countPoints(rings));
}
public int countPoints(String rings) {
if (rings.length() < 6){
return 0;
}
int ans = 0;
// 一共有三种颜色的,所有二维数组的下标是3 分别代表'R'、'G'、'B
int[][] arr = new int[10][3];
int i = 0;
int len = rings.length() % 2 != 0 ? rings.length() - 1 : rings.length();
while (i < len){
arr[rings.charAt(i + 1) - '0'][calculation(rings.charAt(i))]--;
i += 2;
}
for (int j = 0; j < arr.length; j++){
if (arr[j][0] < 0 && arr[j][1] < 0 && arr[j][2] < 0){
ans++;
}
}
return ans;
}
/**
* 计算字符串对应的下标
* 0 1 2
* R'、'G'、'B
* @return
*/
private int calculation(char c){
if (c == 'R'){
return 0;
}
if (c == 'G'){
return 1;
}
if (c == 'B'){
return 2;
}
return -1;
}
}
力扣:2103. 环和杆
最新推荐文章于 2024-07-25 21:13:04 发布