算法2278. 字母在字符串中的百分比(多语言实现)
Posted 二当家的白帽子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法2278. 字母在字符串中的百分比(多语言实现)相关的知识,希望对你有一定的参考价值。
文章目录
- 2278. 字母在字符串中的百分比:
- 样例 1:
- 样例 2:
- 提示:
- 分析
- 题解
- 原题传送门:https://leetcode.cn/problems/percentage-of-letter-in-string/
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
是一个小写英文字母
分析
- 面对这道算法题目,二当家的陷入了沉思。
- 遍历一遍字符串,计数有多少个给定字母是必然的。只不过很多语言有自带的API功能。
- 最后计算百分比有个小细节,如果先做除法再做乘法,就需要小数与整数互转。
题解
rust
impl Solution
pub fn percentage_letter(s: String, letter: char) -> i32
(s.as_bytes().iter().filter(|&&c| c == letter as u8 ).count() * 100 / s.len()) as i32
go
func percentageLetter(s string, letter byte) int
return strings.Count(s, string(letter)) * 100 / len(s)
typescript
function percentageLetter(s: string, letter: string): number
let cnt = 0;
for (const c of s)
if (c === letter)
cnt++;
return Math.floor(cnt * 100 / s.length);
;
c
int percentageLetter(char * s, char letter)
int l = 0;
int cnt = 0;
while (*s)
if (*s == letter)
++cnt;
++l;
++s;
return cnt * 100 / l;
c++
class Solution
public:
int percentageLetter(string s, char letter)
int count = 0;
for (char &c: s)
if (c == letter)
++count;
return count * 100 / s.length();
;
java
class Solution
public int percentageLetter(String s, char letter)
int count = 0;
for (int i = 0; i < s.length(); ++i)
if (letter == s.charAt(i))
++count;
return count * 100 / s.length();
python
class Solution:
def percentageLetter(self, s: str, letter: str) -> int:
return s.count(letter) * 100 // len(s)
原题传送门:https://leetcode.cn/problems/percentage-of-letter-in-string/
非常感谢你阅读本文~
欢迎【👍点赞】【⭐收藏】【📝评论】~
放弃不难,但坚持一定很酷~
希望我们大家都能每天进步一点点~
本文由 二当家的白帽子:https://le-yi.blog.csdn.net/ 博客原创~
以上是关于算法2278. 字母在字符串中的百分比(多语言实现)的主要内容,如果未能解决你的问题,请参考以下文章
算法面试题 08.07. 无重复字符串的排列组合(多语言实现)