-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path1419.数青蛙.js
93 lines (86 loc) · 2.18 KB
/
1419.数青蛙.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/**
* @param {string} croakOfFrogs
* @return {number}
*/
var minNumberOfFrogs = function (croakOfFrogs) {
let res = 0;
let c = 0, r = 0, o = 0, a = 0, k = 0;
for (let j = 0; j < croakOfFrogs.length; j++) {
const i = croakOfFrogs[j];
let index;
switch (i) {
case 'c':
c++;
if (k > 0) {
k--;
} else {
res++;
}
break;
case 'r':
r++;
if (c) {
c--;
} else {
return -1;
}
break;
case 'o':
o++;
if (r) {
r--;
} else {
return -1;
}
break;
case 'a':
a++;
if (o) {
o--;
} else {
return -1;
}
break;
case 'k':
k++;
if (a) {
a--;
} else {
return -1;
}
break;
}
}
return c + r + o + a ? -1 : res;
};
// var minNumberOfFrogs = function(croakOfFrogs) {
// let c = 0,r=0,o=0,a=0, max_frogs = 0;
// for(let i = 0;i<croakOfFrogs.length;i++){
// const ch = croakOfFrogs[i]
// switch(ch){
// case "c":c++;
// if(c > max_frogs) max_frogs = c
// break;
// case "r":r++;break;
// case "o":o++;break;
// case "a":a++;break;
// case "k":
// c--
// r--
// o--
// a--
// break;
// default: return -1;
// }
// if(!(c >= r && r >= o && o >= a && a >= 0)){
// return -1
// }
// }
// if(c == 0){
// return max_frogs
// }
// return -1
// };
// console.log(minNumberOfFrogs('crcoakroak'));
console.log(minNumberOfFrogs('craok'));
// console.log(minNumberOfFrogs('croakcroak'));