Skip to content

Commit fc1ff4f

Browse files
committed
add 2315
1 parent dab6cb3 commit fc1ff4f

2 files changed

Lines changed: 50 additions & 31 deletions

File tree

javascript/LeetCode/String/2315.js

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/**
2+
* 2315. Count Asterisks
3+
*
4+
* 給一個字串,字串中可能會有"|"和"*",找出字串中被一組 | 包住的連續 ** 有幾個
5+
* @param {string} s
6+
* @return {number}
7+
*/
8+
var countAsterisks = function(s) {
9+
// 須判斷字串中是否有連續的"*"符號
10+
// 拆成陣列,計算一組"|"中有幾個連續"*"
11+
12+
// solution 1.
13+
// let splitS = s.split("");
14+
// let ans = 0;
15+
// let pairs = false;
16+
// for(let i = 0;i < splitS.length;++i) {
17+
// if(splitS[i] === "|"){
18+
// if(pairs){
19+
// pairs = false;
20+
// continue;
21+
// }else{
22+
// pairs = true;
23+
// continue;
24+
// }
25+
// }
26+
// if(pairs === false && splitS[i] === "*"){
27+
// ans++;
28+
// }
29+
// }
30+
// return ans;
31+
32+
33+
// solution 2.
34+
let ans = 0, bars = 0;
35+
for(let i = 0;i < s.length;++i) {
36+
// bars必須要一對(偶數)
37+
if(s[i] === "*" && bars % 2 === 0){
38+
ans++;
39+
}
40+
if(s[i] === "|"){
41+
bars++;
42+
}
43+
}
44+
return ans;
45+
};
46+
// let s = "l|*e*et|c**o|*de|"
47+
// Output: 2
48+
let s = "yo|uar|e**|b|e***au|tifu|l";
49+
// 5
50+
console.log(countAsterisks(s))

javascript/index.js

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1047,34 +1047,3 @@ let numerator = 1, denominator = 2;
10471047
// "0.5"
10481048
// console.log(fractionToDecimal(numerator,denominator));
10491049

1050-
/**
1051-
* 2315. Count Asterisks
1052-
*
1053-
* 給一個字串,字串中可能會有"|"和"*",找出字串中被一組 | 包住的連續 ** 有幾個
1054-
* @param {string} s
1055-
* @return {number}
1056-
*/
1057-
var countAsterisks = function(s) {
1058-
// 須判斷字串中是否有"*"符號
1059-
// 拆成陣列,計算一組"|"中有幾個連續"*"
1060-
let splitS = s.split("");
1061-
let ans = 0;
1062-
let pairs = false;
1063-
for(let i = 0;i < splitS.length;++i) {
1064-
if(splitS[i] === "|"){
1065-
if(pairs){
1066-
pairs = true;
1067-
continue;
1068-
}else{
1069-
pairs = false;
1070-
}
1071-
}
1072-
1073-
}
1074-
return ans;
1075-
};
1076-
// let s = "l|*e*et|c**o|*de|"
1077-
// Output: 2
1078-
let s = "yo|uar|e**|b|e***au|tifu|l";
1079-
// 5
1080-
console.log(countAsterisks(s))

0 commit comments

Comments
 (0)