Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 66a69e3

Browse files
committed
docs: 新增No88、No412题解
1 parent cd0fffa commit 66a69e3

File tree

3 files changed

+150
-1
lines changed

3 files changed

+150
-1
lines changed

‎leetcode刷题/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
- [No.48 旋转图像](https://github.com/Mayandev/javascript_algorithm/blob/master/leetcode%E5%88%B7%E9%A2%98/note/No48_rotate.md)
1414
- [No.66 加一](https://github.com/Mayandev/javascript_algorithm/blob/master/leetcode%E5%88%B7%E9%A2%98/note/No66_plus-one.md)
1515
- [No.70 爬楼梯](https://github.com/Mayandev/javascript_algorithm/blob/master/leetcode%E5%88%B7%E9%A2%98/note/No70_climb-stairs.md)
16+
- [No.88 合并两个有序数组](https://github.com/Mayandev/javascript_algorithm/blob/master/leetcode%E5%88%B7%E9%A2%98/note/No88_merge.md)
1617
- [No.98 验证二叉搜索树](https://github.com/Mayandev/javascript_algorithm/blob/master/leetcode%E5%88%B7%E9%A2%98/note/No98_is-valid-BST.md)
1718
- [No.104 二叉树的最大深度](https://github.com/Mayandev/javascript_algorithm/blob/master/leetcode%E5%88%B7%E9%A2%98/note/No104_max-depth.md)
1819
- [No.122 买卖股票的最佳时机 II](https://github.com/Mayandev/javascript_algorithm/blob/master/leetcode%E5%88%B7%E9%A2%98/note/No122_max-profit.md)
@@ -31,7 +32,7 @@
3132
- [No.326 3的幂](https://github.com/Mayandev/javascript_algorithm/blob/master/leetcode%E5%88%B7%E9%A2%98/note/No326_is-power-of-three.md)
3233
- [No.350 两个数组的交集 II](https://github.com/Mayandev/javascript_algorithm/blob/master/leetcode%E5%88%B7%E9%A2%98/note/No350_intersect.md)
3334
- [No.387 字符串中的第一个唯一字符](https://github.com/Mayandev/javascript_algorithm/blob/master/leetcode%E5%88%B7%E9%A2%98/note/No387_first-uniq-char.md)
34-
35+
-[No.412 Fizz Buzz](https://github.com/Mayandev/javascript_algorithm/blob/master/leetcode%E5%88%B7%E9%A2%98/note/No412_fizz-buzz.md)
3536

3637
## 分类
3738

‎leetcode刷题/note/NO412_fizz-buzz.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# No.412 Fizz Buzz
2+
3+
难度: `easy`
4+
5+
写一个程序,输出从 1 到 n 数字的字符串表示。
6+
7+
1. 如果 n 是3的倍数,输出"Fizz";
8+
9+
2. 如果 n 是5的倍数,输出"Buzz";
10+
11+
3. 如果 n 同时是3和5的倍数,输出 "FizzBuzz"。
12+
13+
## 示例
14+
15+
16+
示例:
17+
18+
```
19+
n = 15,
20+
21+
返回:
22+
[
23+
"1",
24+
"2",
25+
"Fizz",
26+
"4",
27+
"Buzz",
28+
"Fizz",
29+
"7",
30+
"8",
31+
"Fizz",
32+
"Buzz",
33+
"11",
34+
"Fizz",
35+
"13",
36+
"14",
37+
"FizzBuzz"
38+
]
39+
40+
```
41+
42+
## 解题思路
43+
44+
直接判断是否能够整除即可。
45+
46+
代码如下:
47+
48+
```javascript
49+
/**
50+
* @param {number} n
51+
* @return {string[]}
52+
*/
53+
var fizzBuzz = function(n) {
54+
let strArr = [];
55+
for (let i = 1; i <= n; i++) {
56+
if (i % 5 == 0 && i % 3 == 0) {
57+
strArr.push('FizzBuzz');
58+
continue;
59+
}
60+
if (i % 3 == 0) {
61+
strArr.push('Fizz');
62+
continue;
63+
}
64+
if (i % 5 == 0) {
65+
strArr.push('Buzz');
66+
continue;
67+
68+
}
69+
strArr.push(`${i}`);
70+
71+
}
72+
return strArr;
73+
};
74+
```
75+

‎leetcode刷题/note/No88_merge.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# No.88 合并两个有序数组
2+
3+
难度:`easy`
4+
5+
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。
6+
7+
8+
说明:
9+
10+
初始化 nums1 和 nums2 的元素数量分别为 m 和 n。
11+
你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。
12+
13+
## 示例
14+
15+
示例:
16+
17+
```
18+
19+
输入:
20+
nums1 = [1,2,3,0,0,0], m = 3
21+
nums2 = [2,5,6], n = 3
22+
23+
输出: [1,2,2,3,5,6]
24+
25+
```
26+
27+
## 解题思路
28+
29+
第一种很简单粗暴,直接合并两个数字,再进行排序。
30+
31+
但是这样没有利用到数组原本就有序的特点。
32+
33+
这里使用插入排序的思想,将num2的数组依次插入到num1中。
34+
35+
代码如下:
36+
37+
```javascript
38+
/**
39+
* @param {number[]} nums1
40+
* @param {number} m
41+
* @param {number[]} nums2
42+
* @param {number} n
43+
* @return {void} Do not return anything, modify nums1 in-place instead.
44+
*/
45+
var merge = function(nums1, m, nums2, n) {
46+
let j = 0;
47+
let valid = m;
48+
while (j < n) {
49+
let isInsert = false;
50+
let element = nums2[j];
51+
for (let i = 0; i < valid; i++) {
52+
// 插入排序
53+
if (nums1[i] > element) {
54+
// 整个数组向后移动
55+
for (let a = valid; a > i; a--) {
56+
nums1[a] = nums1[a-1];
57+
}
58+
nums1[i] = element;
59+
isInsert = true;
60+
break;
61+
}
62+
}
63+
if (!isInsert) {
64+
nums1[valid] = element;
65+
}
66+
valid++;
67+
j++;
68+
}
69+
};
70+
71+
// merge([1,2,3,0,0,0],3,[2,5,6],3);
72+
73+
```

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /