2278-字母在字符串中的百分比
给你一个字符串 s
和一个字符 letter
,返回在 s
中等于 letter
字符所占的 百分比 ,向下取整到最接近的百分比。
示例 1:
**输入:** s = "foobar", letter = "o"
**输出:** 33
**解释:**
等于字母 'o' 的字符在 s 中占到的百分比是 2 / 6 * 100% = 33% ,向下取整,所以返回 33 。
示例 2:
**输入:** s = "jjjj", letter = "k"
**输出:** 0
**解释:**
等于字母 'k' 的字符在 s 中占到的百分比是 0% ,所以返回 0 。
提示:
1 <= s.length <= 100
s
由小写英文字母组成letter
是一个小写英文字母
方法一:遍历统计
思路与算法
我们用 n 表示字符串 s 的长度。首先我们遍历字符串,并用 cnt 统计字母 letter 在 s 中的出现次数。那么,s 中 letter 所占的百分比即为 100 \times \textit{cnt} / s,向下取整后的值即为 \lfloor 100 \times \textit{cnt} / s \rfloor(其中 \lfloor \dots \rfloor 代表向下取整)。我们计算上式的值,并作为答案返回即可。
代码
1 | class Solution { |
1 | class Solution: |
复杂度分析
时间复杂度:O(n),其中 n 为 s 的长度。即为遍历计算字符出现次数的时间复杂度。
空间复杂度:O(1)。
Comments