
贴一下代码
function maxNumberOfBalloons(text: string): number {
if(text.length < 7) return 0
let strArr = text.split("");
let b = 0;
let a = 0;
let l = 0;
let o = 0;
let n = 0;
for(let i = 0; i < strArr.length; i++){
if(strArr[i] === 'b'){
b += 1
}
if(strArr[i] === 'a'){
a += 1
}
if(strArr[i] === 'l'){
l += 1
}
if(strArr[i] === 'o'){
o += 1
}
if(strArr[i] === 'n'){
n += 1
}
}
let arr = [b,a,l,o,n];
let reArr = arr.sort((a, b) => { return a-b })
if(reArr[0] === 0){
return 0
} else {
if((l >= 2 * reArr[0]) && (o >= 2 * reArr[0])){
return reArr[0]
} else {
if(l >= o){
return Math.floor(o / 2)
} else {
return Math.floor(l / 2)
}
}
}
};
思路:
- 首先将字符串转化为数组,然后统计字符个数
- 然后根据短板原理区分每一种情况做出判断,返回相应个数
- 加上 if(text.length < 7) return 0; 提升性能(提升一点是一点)