Skip to content

Commit 40c44d0

Browse files
author
钱毓婷
committed
feat: add the solution of Count and Say(38) with JavaScript.
1 parent 7ad3dff commit 40c44d0

File tree

3 files changed

+94
-0
lines changed

3 files changed

+94
-0
lines changed

src/_004/Solution.js

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
var findMedianSortedArrays = function(nums1, nums2) {
2+
var l1 = nums1.length;
3+
var l2 = nums2.length;
4+
var i = 0, j = 0, k = 0;
5+
var midIndex = Math.ceil((l1+l2) / 2)
6+
var midNum1,midNum2,midNum
7+
if((l1+l2)%2 === 0) {
8+
while(k <= midIndex) {
9+
k++;
10+
if(i > l1 - 1) {
11+
midNum1 = nums2[midIndex-k +j]
12+
midNum2 =nums2[midIndex-k +j + 1]
13+
break;
14+
}
15+
if(j > l2 - 1) {
16+
midNum1 = nums2[midIndex-k +i]
17+
midNum2 =nums2[midIndex-k +i + 1]
18+
break;
19+
}
20+
if(nums1[i]>nums2[j]) {
21+
if(k === midIndex) {
22+
midNum1 = nums2[j];
23+
} else if(k === (midIndex+1)){
24+
midNum2 = nums2[j];
25+
}
26+
j++;
27+
} else {
28+
if(k === midIndex) {
29+
midNum1 = nums1[i];
30+
} else if(k === (midIndex+1)){
31+
midNum2 = nums1[i];
32+
}
33+
i++;
34+
}
35+
}
36+
midNum = (midNum1 + midNum2) / 2
37+
} else {
38+
while(k < midIndex) {
39+
k++;
40+
if(nums1[i]>nums2[j]) {
41+
j++;
42+
if(k === midIndex) {
43+
midNum = nums2[j-1];
44+
}
45+
} else {
46+
i++;
47+
if(k === midIndex) {
48+
midNum = nums1[i-1];
49+
}
50+
}
51+
}
52+
}
53+
return midNum
54+
};
55+
findMedianSortedArrays([1,2,4,6],[3,4])

src/_038/Solution.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
var countAndSay = function(n) {
2+
var str = '1'
3+
while(--n > 0) {
4+
var len = str.length
5+
var resultStr = ''
6+
var times = 1;
7+
for(var i = 0; i < len; i++) {
8+
if(str[i] === str[i + 1]) {
9+
times++
10+
} else {
11+
resultStr += times + str[i]
12+
times = 1;
13+
}
14+
}
15+
str = resultStr
16+
}
17+
return str
18+
};

tips/038/README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,27 @@ class Solution {
9999

100100
```
101101

102+
javaScript:
103+
```javascript
104+
var countAndSay = function(n) {
105+
var str = '1'
106+
while(--n > 0) {
107+
var len = str.length
108+
var resultStr = ''
109+
var times = 1;
110+
for(var i = 0; i < len; i++) {
111+
if(str[i] === str[i + 1]) {
112+
times++
113+
} else {
114+
resultStr += times + str[i]
115+
times = 1;
116+
}
117+
}
118+
str = resultStr
119+
}
120+
return str
121+
};
122+
```
102123

103124
## 结语
104125

0 commit comments

Comments
 (0)