气球问题探究

编程入门 行业动态 更新时间:2024-10-28 05:21:34

<a href=https://www.elefans.com/category/jswz/34/1754391.html style=气球问题探究"/>

气球问题探究

题目

给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 “balloon”(气球)。

字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 “balloon”。

关于c

气球问题的实现

找每个目标字符串每个字母在给出的串中的个数,把目标字符串每个字母的数量除以目标该字母的数量,最后最小数就是气球数

代码

#define min(a , b) ((a) < (b)  ? (a) : (b))int maxnumberofballoons( char * text)
{int cnt[5];int n = strlen (text);memset(cnt , 0 , sizeof(int)*5);for (int i = 0 ; i < n ; i++ ){if (text[ i ] == 'b' )cnt[ 0 ]++;else if (text[ i ] == 'a' )cnt[ 1 ]++;else if (text[ i ] == 'l' )cnt[ 2 ]++;else if (text[ i ] == 'o' )cnt[ 3 ]++;else if (text[ i ] == 'n' )cnt[ 4 ]++;}cnt[ 2 ] /= 2;cnt[ 3 ] /=2;int res = int_max;for (int i = 0 ; i < 5 ;i++)res=min( res, cnt[ i ] );return res;
}

重点代码

求串的长度
strlen(text)
C++中常量INT_MAX和INT_MIN分别表示最大、最小整数,定义在头文件limits.h中。

#define INT_MAX 2147483647
#define INT_MIN (-INT_MAX - 1)int res = int_max;

memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法

memset(cnt , 0 , sizeof(int)*5);

更多推荐

气球问题探究

本文发布于:2024-03-23 20:54:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1742717.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:气球

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!