File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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 ) )
Original file line number Diff line number Diff 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 ) )
You can’t perform that action at this time.
0 commit comments