编程怎么数圆圈数量

时间:2025-01-23 02:20:45 游戏攻略

要计算一个数字字符串中包含的圆圈数量,你可以遵循以下步骤:

定义圆圈规则

数字0、6、9各含1个圆圈。

数字8含2个圆圈。

其他数字不含任何圆圈。

创建映射表

使用字典或哈希表来记录每个数字字符对应的圆圈数量。

遍历字符串

遍历输入的数字字符串,对于每个字符,查找其对应的圆圈数量并累加。

返回结果

遍历结束后,返回累计的圆圈总数。

下面是一个Python函数的实现示例:

```python

def count_circles(s: str) -> int:

定义每个数字与它所含有的圆圈数量之间的对应关系

circles = {

'0': 1, '6': 1, '9': 1, '8': 2,

'1': 0, '2': 0, '3': 0, '4': 0, '5': 0, '7': 0

}

初始化圆圈总数

total_circles = 0

遍历字符串中的每个字符

for char in s:

如果字符在字典中,则累加相应的圆圈数

if char in circles:

total_circles += circles[char]

return total_circles

测试用例

if __name__ == '__main__':

print(count_circles("1234567890") == 5) 输出应为 True

print(count_circles("8690") == 5) 输出应为 True

print(count_circles("1111") == 0) 输出应为 True

```

解释

定义圆圈规则

我们使用一个字典 `circles` 来存储每个数字字符及其对应的圆圈数量。

创建映射表

字典 `circles` 中,键是数字字符,值是该数字字符的圆圈数量。

遍历字符串

我们遍历输入字符串 `s`,对于每个字符,检查它是否在字典 `circles` 中。如果在,则将其对应的圆圈数量累加到 `total_circles` 中。

返回结果

最后,返回累加的圆圈总数 `total_circles`。

这个方法的时间复杂度是 O(n),其中 n 是字符串的长度,因为我们需要遍历整个字符串一次。空间复杂度是 O(1),因为我们只需要一个常数大小的哈希表来存储每个数字的圆圈数。