Skip to content

Commit 48bc053

Browse files
author
luzhipeng
committed
1 parent 163899d commit 48bc053

22 files changed

+356
-112
lines changed

172.factorial-trailing-zeroes.js

-23
This file was deleted.

263.ugly-number.js

-23
This file was deleted.

342.power-of-four.js

-43
This file was deleted.

575.distribute-candies.js

-14
This file was deleted.

README.en.md

+11-7
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,11 @@ The data structures mainly includes:
9797
- [0020.Valid Parentheses](./problems/20.validParentheses.md)
9898
- [0026.remove-duplicates-from-sorted-array](./problems/26.remove-duplicates-from-sorted-array.md)
9999
- [0088.merge-sorted-array](./problems/88.merge-sorted-array.md)
100-
- [0121.best-time-to-buy-and-sell-stock](./problems/121.best-time-to-buy-and-sell-stock.md) 🆕
101-
- [0122.best-time-to-buy-and-sell-stock-ii](./problems/122.best-time-to-buy-and-sell-stock-ii.md) 🆕
100+
- [0121.best-time-to-buy-and-sell-stock](./problems/121.best-time-to-buy-and-sell-stock.md)
101+
- [0122.best-time-to-buy-and-sell-stock-ii](./problems/122.best-time-to-buy-and-sell-stock-ii.md)
102102
- [0136.single-number](./problems/136.single-number.md)
103103
- [0167.two-sum-ii-input-array-is-sorted](./problems/167.two-sum-ii-input-array-is-sorted.md)
104+
- [0172.factorial-trailing-zeroes](./problems/172.factorial-trailing-zeroes.md) 🆕
104105
- [0169.majority-element](./problems/169.majority-element.md)
105106
- [0190.reverse-bits](./problems/190.reverse-bits.md)
106107
- [0191.number-of-1-bits](./problems/191.number-of-1-bits.md)
@@ -109,24 +110,27 @@ The data structures mainly includes:
109110
- [0206.reverse-linked-list](./problems/206.reverse-linked-list.md)
110111
- [0219.contains-duplicate-ii](./problems/219.contains-duplicate-ii.md)
111112
- [0226.invert-binary-tree](./problems/226.invert-binary-tree.md)
113+
- [0263.ugly-number](./problems/263.ugly-number.md) 🆕
112114
- [0283.move-zeroes](./problems/283.move-zeroes.md)
115+
- [0342.power-of-four](./problems/342.power-of-four.md) 🆕
113116
- [0349.intersection-of-two-arrays](./problems/349.intersection-of-two-arrays.md)
117+
- [0575.distribute-candies](./problems/575.distribute-candies.md) 🆕
114118

115119

116120
#### Medium
117121

118122
- [0002. Add Two Numbers](./problems/2.addTwoNumbers.md)
119123
- [0003. Longest Substring Without Repeating Characters](./problems/3.longestSubstringWithoutRepeatingCharacters.md)
120124
- [0011.container-with-most-water](./problems/11.container-with-most-water.md)
121-
- [0015.3-sum](./problems/15.3-sum.md) 🆕
125+
- [0015.3-sum](./problems/15.3-sum.md)
122126
- [0019. Remove Nth Node From End of List](./problems/19.removeNthNodeFromEndofList.md)
123127
- [0024. Swap Nodes In Pairs](./problems/24.swapNodesInPairs.md)
124128
- [0039.combination-sum](./problems/39.combination-sum.md)
125129
- [0040.combination-sum-ii](./problems/40.combination-sum-ii.md)
126130
- [0046.permutations](./problems/46.permutations.md)
127131
- [0047.permutations-ii](./problems/47.permutations-ii.md)
128-
- [0055.jump-game](./problems/55.jump-game.md) 🆕
129-
- [0062.unique-paths](./problems/62.unique-paths.md )🆕
132+
- [0055.jump-game](./problems/55.jump-game.md)
133+
- [0062.unique-paths](./problems/62.unique-paths.md )
130134
- [0075.sort-colors](./problems/75.sort-colors.md)
131135
- [0078.subsets](./problems/78.subsets.md)
132136
- [0086.partition-list](./problems/86.partition-list.md)
@@ -138,12 +142,12 @@ The data structures mainly includes:
138142
- [0103.binary-tree-zigzag-level-order-traversal](./problems/103.binary-tree-zigzag-level-order-traversal.md)
139143
- [0139.word-break](./problems/139.word-breakmd)
140144
- [0144.binary-tree-preorder-traversal](./problems/144.binary-tree-preorder-traversal.md)
141-
- [0150.evaluate-reverse-polish-notation](./problems/150.evaluate-reverse-polish-notation.md) 🖊
145+
- [0150.evaluate-reverse-polish-notation](./problems/150.evaluate-reverse-polish-notation.md)
142146
- [0152.maximum-product-subarray](./problems/152.maximum-product-subarray.md) 🆕
143147
- [0199.binary-tree-right-side-view](./problems/199.binary-tree-right-side-view.md)
144148
- [0201.bitwise-and-of-numbers-range](./problems/201.bitwise-and-of-numbers-range.md)
145149
- [0208.implement-trie-prefix-tree](./problems/208.implement-trie-prefix-tree.md)
146-
- [0209.minimum-size-subarray-sum](./problems/209.minimum-size-subarray-sum.md) 🖊
150+
- [0209.minimum-size-subarray-sum](./problems/209.minimum-size-subarray-sum.md)
147151
- [0236.lowest-common-ancestor-of-a-binary-tree](./problems/236.lowest-common-ancestor-of-a-binary-tree.md)
148152
- [0238.product-of-array-except-self](./problems/238.product-of-array-except-self.md) 🆕
149153
- [0240.search-a-2-d-matrix-ii](./problems/240.search-a-2-d-matrix-ii.md)

README.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,11 @@ leetcode 题解,记录自己的 leetcode 解题之路。
9595
- [0020.Valid Parentheses](./problems/20.validParentheses.md)
9696
- [0026.remove-duplicates-from-sorted-array](./problems/26.remove-duplicates-from-sorted-array.md)
9797
- [0088.merge-sorted-array](./problems/88.merge-sorted-array.md)
98-
- [0121.best-time-to-buy-and-sell-stock](./problems/121.best-time-to-buy-and-sell-stock.md) 🆕
99-
- [0122.best-time-to-buy-and-sell-stock-ii](./problems/122.best-time-to-buy-and-sell-stock-ii.md) 🆕
98+
- [0121.best-time-to-buy-and-sell-stock](./problems/121.best-time-to-buy-and-sell-stock.md)
99+
- [0122.best-time-to-buy-and-sell-stock-ii](./problems/122.best-time-to-buy-and-sell-stock-ii.md)
100100
- [0136.single-number](./problems/136.single-number.md)
101101
- [0167.two-sum-ii-input-array-is-sorted](./problems/167.two-sum-ii-input-array-is-sorted.md)
102+
- [0172.factorial-trailing-zeroes](./problems/172.factorial-trailing-zeroes.md) 🆕
102103
- [0169.majority-element](./problems/169.majority-element.md)
103104
- [0190.reverse-bits](./problems/190.reverse-bits.md)
104105
- [0191.number-of-1-bits](./problems/191.number-of-1-bits.md)
@@ -107,8 +108,11 @@ leetcode 题解,记录自己的 leetcode 解题之路。
107108
- [0206.reverse-linked-list](./problems/206.reverse-linked-list.md)
108109
- [0219.contains-duplicate-ii](./problems/219.contains-duplicate-ii.md)
109110
- [0226.invert-binary-tree](./problems/226.invert-binary-tree.md)
111+
- [0263.ugly-number](./problems/263.ugly-number.md) 🆕
110112
- [0283.move-zeroes](./problems/283.move-zeroes.md)
113+
- [0342.power-of-four](./problems/342.power-of-four.md) 🆕
111114
- [0349.intersection-of-two-arrays](./problems/349.intersection-of-two-arrays.md)
115+
- [0575.distribute-candies](./problems/575.distribute-candies.md) 🆕
112116

113117

114118
#### 中等难度
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile modified="2019-05-18T06:10:43.607Z" host="www.draw.io" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36" etag="poNqguB4ldgKHB1Otg1c" version="10.6.7" type="device"><diagram id="AfA178754VddEakG0pOT" name="第 1 页">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</diagram></mxfile>

assets/drawio/263.ugly-number.drawio

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile modified="2019-05-18T14:02:55.848Z" host="www.draw.io" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36" etag="1CmG2J_j1khV5AjXmkwd" version="10.6.7" type="device"><diagram id="NQOAA_INps-jg08JScd_" name="第 1 页">5Zhdb5swFIZ/DZepwAaSXuazvWinbW213VUOOGDFYGachu7X7xhMAqHVNi0brK3UYF5/P+fYHNvC86S4kiSLb0VIuYXssLDwwkLo0pnArxaeK8H13UqIJAsryTkKd+w7NaJt1B0Lad4qqITgimVtMRBpSgPV0oiUYt8uthG83WtGItoR7gLCu+oXFqq4UidofNSvKYviumfHv6xyElIXNjPJYxKKfUPCSwvPpRCqSiXFnHLNruZS1Vu9knsYmKSp+pUK19PpvUcWN2s0eXB3t1vnkxyNUNXKE+E7M+HDcNVzzUCKXRpS3Yxt4dk+ZoreZSTQuXswOmixSji8OZA0DVKpaPHqSJ3D/MFvqEioks9QpK7gelUV4zMONmPaHy3gGSluwK81YmweHVo+YoGEIfMblHCHkvltYYIJqzaLXEmxpXPBhQQlFSmUnG0Y5ycS4SxK4TUAQBT0mcbHwAmnJiNhYai7eRF+2zxn4I9sv82/tkeDv/sCf/S3+LtdL+3dSZFvD8tJvQFCwkOD5Hcgeb1DcocGadyB9PXtbnbYGQ9rs5u8J/qu4w2L/mX3U38KHwK5TCdZUsaOTSucwlQia6g3ZE35R5EzxYTOXQulRAIFuM6YkWAblYBrk1kIb8o/KFJ2Ns2zKsbV9En9smGFNsnMjGcRK6WD46kGgVZBmOILBuHxhoHp5EUAPaJVSBSBh9ZzeG44USMS6HHlo1LUIFaeo2nes2D7eEvkduSgyUWWRtqzRKoawxwvp/7yTC7heQPbDuujSPPL2v+n9TRIPiyT3jA53aXznqJkcNx+ty7nhcNc7256Gib376bdw1ztuQMKlPvH1D1OvOEw5DQI7H8td2Pw/z8OcX4ahywgyrjiJM8fP9O9kFtoD60g6ijgH1ImQtEBC+M04CKn/z4e6X9pdk8IFvK5Xokhe2r5iP9tp68XSzyjvLxcBXPYMP2ihFPnQyoyz7KdPCPpnzXkzZCPLQ+q2g8R1zg/7JI1LHXTA8y86qTdsXYJPYdaHeSG85qzad3cYKNzBRkeajkf9rrOhzA+y84Er8fb6DKvcaWPlz8A</diagram></mxfile>
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile modified="2019-05-18T15:04:59.393Z" host="www.draw.io" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36" etag="lNo_8-8VvE59liv8tlX-" version="10.6.7" type="device"><diagram id="qBFZyUjtuOMw8SgRTH_N" name="第 1 页">7Vpdb5swFP01PFbCNjjhsUnTTZOqTerDtL5MDJwEleCUkIb21+8SbAIYJNYGjJZQKYXjjwvnXl8fGwwy36RfYne7fuA+Cw1s+qlB7gyMHTSF3wx4ywGLWjmwigM/h9AJeAzemQBNge4Dn+0qFRPOwyTYVkGPRxHzkgrmxjE/VKsteVi1unVXTAEePTdU0Z+Bn6xzdIonJ/wrC1ZraRlRJy/ZuLKyeJLd2vX5oQSRhUHmMedJfrZJ5yzMuJO85O3uW0qLG4tZlHRp8Pye/n5n7Lt98+vJf3Benr457EZ459UN9wXx8n6TN0lCwlIwMVsnmxAABKe7JObPbM5DHgMS8QhqzpZBGNYgNwxWEVx6cJMM8Nkri5MA6L0VBZvA9zMzs8M6SNjj1vUymweIJcBivo98lt2/CVfiVqEDlrZygApmISIZ37AkfoMqokHhDBGNVFweTq61BLQueVW2ckUwrYqOT3zDiaD8H+h3mui/JAcgk+r1gMwzdRdclBNsS7MTsOIES6Ef+oGk30ZSySvubpvPBMsgzWg7B2WoRpndLXFYvTFG1LCl46bM6TbS+6PMUiijI48yZGHNnNkKZwamYZYG/eC1whx92WdKZrbkUXKzO+q4W6gAj58eyZHlcLYS/4/97LZu9LmO7BkBnmxoav7gB8iv2ORL+Lnn+1hagafPDVWNA3x8DomOMuNnRAhhjOW1NGdgMlnc0sW5ZoZJNQCxo+a5AhtmaqAN8/NIHXUGB9BaBphoFqho0iSPLod/hHTr08YV2iV5gOoWp+oiDY9LNtgfW9X2phrk7YxXztcZ67oM7Y8ypFA2HTlltmZtKkdhgzbNFFJnTdmqTP/EEjHbjppBr1Blpz7JckngUM2gkgjN25eNtRT2kPfj3Fe69yRINbzIpCG80JB5H6tL7LGtFzuRNuiYVNV6Zb1YHWCfG6YmavnrZVAeu24dlAOtJs8wVEuLSYTVxaRIPueZMRynEp0WdvQqOXKdMcYShj0kP6tJ9g46YxB1h7GLuzPneV5jVLmbjLr8dzj/nnnTqu88Y9UDwdSdZxp2TUU0XB1VdlTHtyj9Oapdrgw2IcCBLjF746o4sIn27K1udY5sCd6JsyHlPlE3J4eX++iqzT+izafVUJpONKdidZdVRyq+SCFdSytUvnPQlopl5F2F9LD6rD6/UM1JwVJ3xa9CusFR1GwYsYM6qn1n5fqdyP/4nci09saxx+9E4PL0kfSxrPSlOVn8BQ==</diagram></mxfile>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile modified="2019-05-18T06:40:15.863Z" host="www.draw.io" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36" etag="YyJn435j3DqCnBhTC5-h" version="10.6.7" type="device"><diagram id="y-vvNxt2HP3UBzrcWMbX" name="第 1 页">7Zldc6IwFIZ/jZc4EL7spVrd7U4725le7MzeRQiQMRAWYtX++j2BpAraaTvrgrvai5K8CTnhPOckSAb2NN18KXCePPCQsAEyw83Avh0gdGON4L8UtrXgeE4txAUNa8naCU/0hSjRVOqKhqRsdBScM0HzphjwLCOBaGi4KPi62S3irGk1xzE5EJ4CzA7VHzQUSa2OkL/TvxIaJ9qy5d3ULSnWndWTlAkO+XpPsmcDe1pwLupSupkSJn2n/VLfN3+j9XViBcnER25Y3t0nLxm988to+/jwM/2efAsMy62HecZspZ5YzVZstQsKvspCIkcxB/ZknVBBnnIcyNY1MActESmDmgVFNRwpBNm8OVHr9fEhbAhPiSi20EXd4Iz8oZqWChpbVdc7AraeebLnfWQqESvq8evgO8dAQfnmM35yzs9P/tk56X0fQRLkskjTKu/2PSJ9QSHxxozGGWiC53vqPV4Q9shLKiiXrQsuBE+hA5MNExws48r/U854Udmyo+oPulTGxmVerw8SDtaViG4ksYmaz20ihFxYxtIRaB6EmTOksLREFMgWwwAsonmIBYaL1Eu4RgUhRiDNGkFS0FKkuDR0I4K4mU9xFm4NC42GeRafALylF0dF3jMPyLvmIXitnZw7ulzujGakM+yj88JuXy72mG3zpCvuqMXdMnsG/4G98J8Db74LfolTwgjPjCoCYGNfGnrHR/NqST49ebO5xVtuz+S9/5D8Oe7wLmqmvHv4btcpd//KvRPuHmomvNMz99GVezf57ja5j3pe52+u3Lvh7rRe7fpOeP3L8kr+b6/0TuvVzuyb/PXrTTfkfbOV86jnxd664O833ea83SLf92u9dcGfcLrNebu12ve+zx/7Je8xMDsJ6XMjArxfK3lENYl4JoyyOqADZ5vw+JvqHEO3QylW12qcMsfZnw3kTlzfHbhwq3kLlAq6WAkCFUmHklIbAgfUtpr2JXf5KFptxTXAFM1wBgt8SXQ4ZjyT4R5RxloSVuEeAHxSHMmDlIahNHP0DKh5SiR9oQ49ka7vJYQ/G3sz8zTHRXZr37Gtw30HOUeCEH0+CKG6O9is2vZOh+3Zbw==</diagram></mxfile>
Loading
Loading
Loading

assets/problems/263.ugly-number.png

29.4 KB
Loading
29.9 KB
Loading
49.8 KB
Loading

assets/problems/342.power-of-four.png

66.1 KB
Loading
46.7 KB
Loading
+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
2+
## 题目地址
3+
https://leetcode.com/problems/factorial-trailing-zeroes/description/
4+
5+
## 题目描述
6+
7+
```
8+
Given an integer n, return the number of trailing zeroes in n!.
9+
10+
Example 1:
11+
12+
Input: 3
13+
Output: 0
14+
Explanation: 3! = 6, no trailing zero.
15+
Example 2:
16+
17+
Input: 5
18+
Output: 1
19+
Explanation: 5! = 120, one trailing zero.
20+
Note: Your solution should be in logarithmic time complexity.
21+
22+
```
23+
24+
## 思路
25+
26+
我们需要求解这n个数字相乘的结果末尾有多少个0,由于题目要求log的复杂度,因此暴力求解是不行的。
27+
28+
通过观察,我们发现如果想要结果末尾是0,必须是分解质因数之后,2 和 5 相乘才行,同时因数分解之后发现5的个数远小于2,
29+
因此我们只需要求解这n数字分解质因数之后一共有多少个5即可.
30+
31+
![172.factorial-trailing-zeroes-2](../assets/problems/172.factorial-trailing-zeroes-2.png)
32+
33+
如图如果n为30,那么结果应该是图中红色5的个数,即7。
34+
35+
![172.factorial-trailing-zeroes-1](../assets/problems/172.factorial-trailing-zeroes-1.png)
36+
37+
我们的结果并不是直接f(n) = n / 5, 比如n为30, 25中是有两个5的。
38+
类似,n为150,会有7个这样的数字,通过观察我们发现规律`f(n) = n/5 + n/5^2 + n/5^3 + n/5^4 + n/5^5+..`
39+
40+
![172.factorial-trailing-zeroes-3](../assets/problems/172.factorial-trailing-zeroes-3.png)
41+
42+
如果可以发现上面的规律,用递归还是循环实现这个算式就看你的了。
43+
## 关键点解析
44+
45+
- 数论
46+
47+
48+
## 代码
49+
50+
```js
51+
52+
53+
/*
54+
* @lc app=leetcode id=172 lang=javascript
55+
*
56+
* [172] Factorial Trailing Zeroes
57+
*/
58+
/**
59+
* @param {number} n
60+
* @return {number}
61+
*/
62+
var trailingZeroes = function(n) {
63+
// tag: 数论
64+
65+
// if (n === 0) return n;
66+
67+
// 递归: f(n) = n / 5 + f(n / 5)
68+
// return Math.floor(n / 5) + trailingZeroes(Math.floor(n / 5));
69+
let count = 0;
70+
while (n >= 5) {
71+
count += Math.floor(n / 5);
72+
n = Math.floor(n / 5);
73+
}
74+
return count;
75+
};
76+
```

problems/263.ugly-number.md

+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
## 题目地址
2+
3+
https://leetcode.com/problems/ugly-number/description/
4+
5+
## 题目描述
6+
7+
```
8+
Write a program to check whether a given number is an ugly number.
9+
10+
Ugly numbers are positive numbers whose prime factors only include 2, 3, 5.
11+
12+
Example 1:
13+
14+
Input: 6
15+
Output: true
16+
Explanation: 6 = 2 × 3
17+
Example 2:
18+
19+
Input: 8
20+
Output: true
21+
Explanation: 8 = 2 × 2 × 2
22+
Example 3:
23+
24+
Input: 14
25+
Output: false
26+
Explanation: 14 is not ugly since it includes another prime factor 7.
27+
Note:
28+
29+
1 is typically treated as an ugly number.
30+
Input is within the 32-bit signed integer range: [−231, 231 − 1].
31+
32+
```
33+
34+
## 思路
35+
36+
题目要求给定一个数字,判断是否为“丑陋数”(ugly number), 丑陋数是指只包含质因子2, 3, 5的正整数。
37+
38+
![263.ugly-number](../assets/problems/263.ugly-number.png)
39+
40+
根据定义,我们将给定数字除以2、3、5(顺序无所谓),直到无法整除。
41+
如果得到1,说明是所有因子都是2或3或5,如果不是1,则不是丑陋数。
42+
43+
这就好像我们判断一个数字是否为n(n为大于1的正整数)的幂次方一样,我们只需要
44+
不断除以n,直到无法整除,如果得到1,那么就是n的幂次方。 这道题的不同在于
45+
它不再是某一个数字的幂次方,而是三个数字(2,3,5),不过解题思路还是一样的。
46+
47+
转化为代码可以是:
48+
49+
```js
50+
51+
while(num % 2 === 0) num = num / 2;
52+
while(num % 3 === 0) num = num / 3;
53+
while(num % 5 === 0) num = num / 5;
54+
55+
return num === 1;
56+
57+
```
58+
59+
> 我下方给出的代码是用了递归实现,只是给大家看下不同的写法而已。
60+
61+
## 关键点
62+
- 数论
63+
- 因数分解
64+
## 代码
65+
66+
```js
67+
68+
/*
69+
* @lc app=leetcode id=263 lang=javascript
70+
*
71+
* [263] Ugly Number
72+
*/
73+
/**
74+
* @param {number} num
75+
* @return {boolean}
76+
*/
77+
var isUgly = function(num) {
78+
// TAG: 数论
79+
if (num <= 0) return false;
80+
if (num === 1) return true;
81+
82+
const list = [2, 3, 5];
83+
84+
if (list.includes(num)) return true;
85+
86+
for (let i of list) {
87+
if (num % i === 0) return isUgly(Math.floor(num / i));
88+
}
89+
return false;
90+
};
91+
```
92+

0 commit comments

Comments
 (0)