算法2278. 字母在字符串中的百分比(多语言实现)

Posted 二当家的白帽子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法2278. 字母在字符串中的百分比(多语言实现)相关的知识,希望对你有一定的参考价值。


文章目录


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. 字母在字符串中的百分比(多语言实现)的主要内容,如果未能解决你的问题,请参考以下文章

算法-初级-数组删除排序数组中的重复项(多语言版实现)

算法1662. 检查两个字符串数组是否相等(多语言实现)

算法面试题 08.07. 无重复字符串的排列组合(多语言实现)

算法面试题 08.07. 无重复字符串的排列组合(多语言实现)

算法1379. 找出克隆二叉树中的相同节点(多语言实现)

算法1379. 找出克隆二叉树中的相同节点(多语言实现)