Movatterモバイル変換


[0]ホーム

URL:


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

Commita86931f

Browse files
author
luzhipeng
committed

File tree

25 files changed

+1162
-8
lines changed

25 files changed

+1162
-8
lines changed

‎README.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,17 @@ leetcode 题解,记录自己的 leetcode 解题之路。
8282
8383
####简单难度
8484

85-
-[0020.Valid Parentheses](./problems/20.validParentheses.md) 🖊
85+
-[0020.Valid Parentheses](./problems/20.validParentheses.md)
8686
-[0026.remove-duplicates-from-sorted-array](./problems/26.remove-duplicates-from-sorted-array.md)
8787
-[0088.merge-sorted-array](./problems/88.merge-sorted-array.md)
88+
-[0121.best-time-to-buy-and-sell-stock](./problems/121.best-time-to-buy-and-sell-stock.md) 🆕
89+
-[0122.best-time-to-buy-and-sell-stock-ii](./problems/122.best-time-to-buy-and-sell-stock-ii.md) 🆕
8890
-[0136.single-number](./problems/136.single-number.md)
8991
-[0167.two-sum-ii-input-array-is-sorted](./problems/167.two-sum-ii-input-array-is-sorted.md)
9092
-[0169.majority-element](./problems/169.majority-element.md)
9193
-[0190.reverse-bits](./problems/190.reverse-bits.md)
9294
-[0191.number-of-1-bits](./problems/191.number-of-1-bits.md)
95+
-[0198.house-robber.md](./problems/198.house-robber.md) 🆕
9396
-[0203.remove-linked-list-elements](./problems/203.remove-linked-list-elements.md)
9497
-[0206.reverse-linked-list](./problems/206.reverse-linked-list.md)
9598
-[0219.contains-duplicate-ii](./problems/219.contains-duplicate-ii.md)
@@ -115,7 +118,8 @@ leetcode 题解,记录自己的 leetcode 解题之路。
115118
-[0075.sort-colors](./problems/75.sort-colors.md)
116119
-[0078.subsets](./problems/78.subsets.md) 🆕
117120
-[0086.partition-list](./problems/86.partition-list.md)
118-
-[0090.subsets-ii](./problems/90.subsets-ii.md) 🆕
121+
-[0090.subsets-ii](./problems/90.subsets-ii.md)
122+
-[0091.decode-ways](./problems/91.decode-ways.md) 🆕
119123
-[0092.reverse-linked-list-ii](./problems/92.reverse-linked-list-ii.md)
120124
-[0094.binary-tree-inorder-traversal](./problems/94.binary-tree-inorder-traversal.md)
121125
-[0102.binary-tree-level-order-traversal](./problems/102.binary-tree-level-order-traversal.md)
@@ -131,13 +135,15 @@ leetcode 题解,记录自己的 leetcode 解题之路。
131135
-[0236.lowest-common-ancestor-of-a-binary-tree](./problems/236.lowest-common-ancestor-of-a-binary-tree.md)🆕
132136
-[0238.product-of-array-except-self](./problems/238.product-of-array-except-self.md) 🆕
133137
-[0240.search-a-2-d-matrix-ii](./problems/240.search-a-2-d-matrix-ii.md)
134-
-[0279.perfect-squares](./problems/279.perfect-squares.md)🖊
138+
-[0279.perfect-squares](./problems/279.perfect-squares.md)
139+
-[0309.best-time-to-buy-and-sell-stock-with-cooldown](./problems/309.best-time-to-buy-and-sell-stock-with-cooldown.md) 🆕
135140
-[0322.coin-change](./problems/322.coin-change.md)
136141
-[0334.increasing-triplet-subsequence](./problems/334.increasing-triplet-subsequence.md)
137142
-[0328.odd-even-linked-list](./problems/328.odd-even-linked-list.md)
138143
-[0416.partition-equal-subset-sum](./problems/416.partition-equal-subset-sum.md)
139144
-[0445.add-two-numbers-ii](./problems/445.add-two-numbers-ii.md)
140145
-[0454.4-sum-ii](./problems/454.4-sum-ii.md) 🆕
146+
-[0494.target-sum](./problems/494.target-sum.md) 🆕
141147
-[0518.coin-change-2](./problems/518.coin-change-2.md)
142148
-[0875.koko-eating-bananas](./problems/875.koko-eating-bananas.md)
143149
-[0877.stone-game](./problems/877.stone-game.md)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile modified="2019-05-04T06:00:45.801Z" host="www.draw.io" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" etag="8lZpRP_onmLUlqddJt9q" version="10.6.6" type="device"><diagram id="YQNoRghu4fKXr0qcQk76" name="第 1 页">7ZjbjtsgEIafxpcr2cZ2ksvETbattlXVrNRrZIiNgk2KyalPX1iDT7SNo60S7cq5iOAHBphvxhrbAXF+euRwl31hCFPHd9HJAR8c3595U/mvhHMlBJFXCSknqJJawpr8wlp0tbonCJediYIxKsiuKyasKHAiOhrknB270zaMdnfdwRRbwjqB1FZ/ECSySp36k0b/iEmamZ29aFaN5NBM1jcpM4jYsSWBpQNizpioWvkpxlT5zvilWrf6y2h9MI4LMWTB82b76bMbfv+JHt3ZE5w+oYevD9rKAdK9vrA+rDgbD+ACzZUjZa9ghRQXmcip7HmyWc3GyHJicyqvvquMEcxyLPhZTjk23gy1h7KWI43GMYWCHLrmoYaa1ubqHb4xIjf2XR1/XqTt6PDzDA1jomR7nmC9qu29nqH6QNoQiHqGBOQpFpYh2Whdu5Fe4FwByn8lqFJwtsUxo4y/zAarVeT6UT1igjt4A1AvshgKFXhdQ757W6jgnWffRf8OBjXtGZreFlQwZt9wFkOhBkHv2XzjR2r4zrPvon+Hggr7aRzcFlRkgZpYpAQ+iX/lnMa3IZT2JEhJWshuIqlhqS8OmAsiK8C5HsgJQmqbxTEjAq93MFF7HmW5KzXO9gXC6vSuMs8KoWtY3/RbWe/KXxzXoaM2wqdrg8csAF0oJgtbsRX8Ibb69U87jDrcroXk2aWkN1Lye5TA5N6Y7EIyHDH5s96j8u6Y7NIQjJhA722uxnY3THZhGI2YAhO9JpvAvTHZpV4wYgp79WHt/7thsgs9x4+oooLIQTZT8XLzSip3sKi1cOHJ24ZyibvApapdn0mOHfWxUEl7dW1YIPm/rg6yFizZGlPytB1rjdzZ9y0GzGQ5j5bufyo5J92ACTw7YOoC55URI7vNp9HqRaL5vgyWvwE=</diagram></mxfile>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile modified="2019-05-04T06:06:00.266Z" host="www.draw.io" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" etag="emzrtnCmL0sRbl5TDGoR" version="10.6.6" type="device"><diagram id="SQUxga718U24Nse9CxR8" name="第 1 页">7ZhNj9sgEIZ/TY6VjLGd5BinSTeHSpVStVUvFTKzNlpsIkK++usLa7CNve1mtVWiXSUHB15ggHkGZ8IIz8vjJ0k2xWdBgY/CgB5H+OMoDKdoop9GONVClKBayCWjtdQR1uw3WDGw6o5R2HodlRBcsY0vZqKqIFOeRqQUB7/bveD+rBuSw0BYZ4QP1e+MqqJWJ+G41e+A5YWbGSXTuqUkrrPdybYgVBw6El6M8FwKoepSeZwDN75zfqnHLf/S2ixMQqXOGZCK5NdJTNEPsfqWrVLgh593H6yVPeE7u2G7WHVyHoCKzowjda0SlRbTQpVc15Au1r2BDpzYrgo1e9UxAqIEJU+6y6H1Zmw9VHQc6TQJnCi2980TCzVvzDUzfBFMTxwGNv5QYu3Y8EOOhjOxFTuZgR3V9V7PULMgawgnPUOKyBzUwJAudLbdSo9wXgAqfCWorZLiAeaCC/nYGy+XSRAmTYsL7ugNQH2WxblQMfINhcFloeJ3fvqe9e/ZoCY9Q5PLgopup+98FudCjaLeu/nCr9T4nZ++Z/17Lqi4f4yjy4JKBqDGA1IKjupfZ87iu2ec9yTCWV7paqapgdbTPUjFdAY4sw0lo9RMkx4KpmC9IZmZ86DTXa1JsasomNUHxryolM1hQ1fvnPpAf+bzJnTMRHB8afC4AdiH4k5hJ7aiJ2Krn/90w8jj9lJI4wEkdIMU9iDh8ZUpTQaU4hulcNp7UV6b0nRACd8o4d5fuYbatSi5X8UOpuSGKULYP0z42piGdxzRDVPcSw4b/18N01M3HAk3VCjb62KuHndeS9sNqRotTpHuHOshQQpbk7h+ZSWMzE2hkXZm26Si+rmuF7JWInvQ36uVs6eX7JlsZW/ytxg148UsWQT/Kekc+1EToWHUNDnOK8NGV9vL0fqvRHvDjBd/AA==</diagram></mxfile>

‎assets/drawio/198.house-robber.drawio

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile modified="2019-05-04T07:56:58.484Z" host="www.draw.io" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" etag="hGB--1jqNR12-NSJQ5r-" version="10.6.6" type="device"><diagram id="os5A9CisSlN9ZKPxQJiw" name="第 1 页">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</diagram></mxfile>

‎assets/drawio/494.target-sum.drawio

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile modified="2019-05-04T08:50:46.975Z" host="www.draw.io" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" etag="EDJk86jsYYBlklMIT5Au" version="10.6.6" type="device"><diagram id="4IO8ltCWfnja1ZXnyxj4" name="第 1 页">7Vxrb6M4FP01kbYjNQLbQPKxeXRfM6NI1Wh3Pq0IOAlawCw4Tbq/fu3wtt1NJg0xmelIneILGDjncLjX4A7gNNr/nLrJ5hPxcTgAhr8fwNkAgLE5Yv/zwEseQLaZB9Zp4OehRuAp+BcXQaOIbgMfZ60NKSEhDZJ20CNxjD3airlpSnbtzVYkbB81cddYCjx5bihH/wh8usmjI+DU8V9wsN6URzbtcb4mcsuNiyvJNq5Pdo0QnA/gNCWE5kvRfopDjl2JS77f4ytrqxNLcUxP2eH3TfDr53Qx/WrOfnuwPnoJflrcF708u+G2fcEZfSkhSMk29jHvxRjAyW4TUPyUuB5fu2Ocs9iGRiFrmWyx6A+nFO9fPVGzunwmG0wiTNMXtkm5Q8l9IRmraO5q/MvQpgF9GXMLxtdVxzUobKHA5RswAhJGQD9Gdr8wghJGUDtGoGc6QhJGSD9GPdORJWFkaccI9kxH9g14tuloBmnUQ9MWDUk7SOX59Mq2xdtNP0pykqTfuFHvUJLTJP3WbfUOJTlRGoCJhBPriRU4+DhGbpbkVc8q2HNcJysS06KKAhfLNa02iMiSQEQKEFFnIMqZ1H2HEK6CMJySkKSHjuFq5GHPY/GMpuRv3FizHFnIMroBHRi6QZdTs26VqwV2IR3WL3U52etS6pdHUL9unR9Bt6B3Hi0n4D0XrgihfuWOby9XgDbqlw6BXOJ8d7mCCLp25QK5YvoOPRfZds+0LpdgPfdcEUL9ylXVZ28pYruoxywhxRrLRa0SNbsz1OSCjLrpGlMWOzQNeViJXT9tQ9W+WWMSY+HOLkJuGKxj1vQYXpjFJxzNwHPDh2JFFPh++JrC2+x1QI8F2vTYsqRNoGAHdMaOXLnF2yi7EUZ4u2HgzvzBnl+qxm4nfIqxIce6Jk+9HNgXs+KxLOfrvo2V6zn9Y9aV3fYGJbn80j8aC0HfUJIrrIRkAQ2e8W264+PjbMxSqouw5bTJql7LHEnNOrNHKFdyb1P0FVIzONKdmkG5FHsjbB08VOBIsxFAuXLS/4pPfKjoR0lO82O8dt/tUmGXyNBtl6r3NXZICxQG/JPJEgj7ny3/CpHBAMeObzhOM2Sv898Tk1dzfBiHV3PFEjuIcc9+QPEbNSu+/Gjs7PMDlh1d0rM7JBQ5gkkB+fZTFgjdeblcIJxCqXH41ww14C+DvIP77IDsA2fPTvYKERz2OInVH+7+RyYYCoI5cTywOwtQvfo6TS+eJ7P/9OXTT4s7fqPzpc931a1ejvXkXS/TWhTX0kqIV/RmlCK+IkWKJNFC1xx5QHKSWJGd+3zNuGIc/ybu9Zk1H83QhYb4jhMIrjrEh+T8teZNQaPtRhzAeJklN2velyVUNO8ecHpeAveae/OuPrQU0fLuhkD44PDdu5ufO8vAUlRp13Xz89PE/33snyEYwWaMc0PvWjxLizbUnlmoUlCBJBz7D3ymXg3+6QUfF+10WvFaTtGDEtPNbfE+oH9ydobmqGh+5YcbmkVrti+4OzReGo0FTgOGDH+0zeq3UNiXJhEKlLELJtvUw0dvW5nbE0d7UhzmIzHNg6r4LI6wIMHBC8qxeWckPAFtNC4jZTf5NRR71sqQOrMM+1hXuY1IXR1EVl38G3R3yvyPm0hzKtVewB+gA9u82LI/XLVCRapP3ASWEq4RnM6f2UVmJU/lXFoOoO9mmwrNY2SG7hKHi8NLHqJk8KOwwZJQSiIFxZQkKiWwU0v4mUf7NZ8QPYwyz8VDHycp9lyK/WFCMrblX25ueeKnS4YxmT6Ca8tCnOCmGOlSfYVjdSSL0tPeZdErWTidyYI164nw+TOg/msCcP4f</diagram></mxfile>
Loading

‎assets/problems/198.house-robber.png

58.4 KB
Loading

‎assets/problems/494.target-sum-2.png

21.6 KB
Loading

‎assets/problems/494.target-sum-3.png

47 KB
Loading

‎assets/problems/494.target-sum.png

27.6 KB
Loading
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
/*
2+
*@lc app=leetcode id=108 lang=javascript
3+
*
4+
* [108] Convert Sorted Array to Binary Search Tree
5+
*
6+
* https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/description/
7+
*
8+
* algorithms
9+
* Easy (49.37%)
10+
* Total Accepted: 255.2K
11+
* Total Submissions: 507.2K
12+
* Testcase Example: '[-10,-3,0,5,9]'
13+
*
14+
* Given an array where elements are sorted in ascending order, convert it to a
15+
* height balanced BST.
16+
*
17+
* For this problem, a height-balanced binary tree is defined as a binary tree
18+
* in which the depth of the two subtrees of every node never differ by more
19+
* than 1.
20+
*
21+
* Example:
22+
*
23+
*
24+
* Given the sorted array: [-10,-3,0,5,9],
25+
*
26+
* One possible answer is: [0,-3,9,-10,null,5], which represents the following
27+
* height balanced BST:
28+
*
29+
* ⁠ 0
30+
* ⁠ / \
31+
* ⁠ -3 9
32+
* ⁠ / /
33+
* ⁠-10 5
34+
*
35+
*
36+
*/
37+
/**
38+
* Definition for a binary tree node.
39+
* function TreeNode(val) {
40+
* this.val = val;
41+
* this.left = this.right = null;
42+
* }
43+
*/
44+
/**
45+
*@param {number[]} nums
46+
*@return {TreeNode}
47+
*/
48+
varsortedArrayToBST=function(nums){
49+
// 由于数组是排序好的,因此一个思路就是将数组分成两半,一半是左子树,另一半是右子树
50+
// 然后运用“树的递归性质”递归完成操作即可。
51+
if(nums.length===0)returnnull;
52+
constmid=nums.length>>1;
53+
constroot=newTreeNode(nums[mid]);
54+
55+
root.left=sortedArrayToBST(nums.slice(0,mid));
56+
root.right=sortedArrayToBST(nums.slice(mid+1))
57+
returnroot;
58+
// 扩展: 这道题启示我们如果是一个非排序的数组,我们可以先进行排序然后再按上述思路进行。
59+
};
60+

‎backlog/202.happy-number.js

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
/*
2+
*@lc app=leetcode id=202 lang=javascript
3+
*
4+
* [202] Happy Number
5+
*
6+
* https://leetcode.com/problems/happy-number/description/
7+
*
8+
* algorithms
9+
* Easy (44.36%)
10+
* Total Accepted: 227.2K
11+
* Total Submissions: 505.7K
12+
* Testcase Example: '19'
13+
*
14+
* Write an algorithm to determine if a number is "happy".
15+
*
16+
* A happy number is a number defined by the following process: Starting with
17+
* any positive integer, replace the number by the sum of the squares of its
18+
* digits, and repeat the process until the number equals 1 (where it will
19+
* stay), or it loops endlessly in a cycle which does not include 1. Those
20+
* numbers for which this process ends in 1 are happy numbers.
21+
*
22+
* Example: 
23+
*
24+
*
25+
* Input: 19
26+
* Output: true
27+
* Explanation:
28+
* 1^2 + 9^2 = 82
29+
* 8^2 + 2^2 = 68
30+
* 6^2 + 8^2 = 100
31+
* 1^2 + 0^2 + 0^2 = 1
32+
*
33+
*/
34+
functionsquareSum(n){
35+
letsum=0,tmp;
36+
while(n){
37+
tmp=n%10;
38+
sum+=tmp*tmp;
39+
n=Math.floor(n/10);
40+
}
41+
returnsum;
42+
}
43+
44+
functionisHappyWithMapper(n,visited){
45+
if(n===1)returntrue;
46+
if(visited[n])returnfalse;
47+
visited[n]=true;
48+
49+
returnisHappyWithMapper(squareSum(n),visited);
50+
}
51+
/**
52+
*@param {number} n
53+
*@return {boolean}
54+
*/
55+
varisHappy=function(n){
56+
constvisited={};
57+
58+
returnisHappyWithMapper(n,visited);
59+
};
60+

‎backlog/204.count-primes.js

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/*
2+
*@lc app=leetcode id=204 lang=javascript
3+
*
4+
* [204] Count Primes
5+
*
6+
* https://leetcode.com/problems/count-primes/description/
7+
*
8+
* algorithms
9+
* Easy (28.33%)
10+
* Total Accepted: 229.8K
11+
* Total Submissions: 798.7K
12+
* Testcase Example: '10'
13+
*
14+
* Count the number of prime numbers less than a non-negative number, n.
15+
*
16+
* Example:
17+
*
18+
*
19+
* Input: 10
20+
* Output: 4
21+
* Explanation: There are 4 prime numbers less than 10, they are 2, 3, 5, 7.
22+
*
23+
*
24+
*/
25+
/**
26+
*@param {number} n
27+
*@return {number}
28+
*/
29+
varcountPrimes=function(n){
30+
// tag: 数论
31+
// if (n <= 2) return 0;
32+
// let compositionCount = 0;
33+
// for(let i = 3; i < n; i++) {
34+
// for(let j = i - 1; j > 1 ; j--) {
35+
// if (i % j === 0) {
36+
// compositionCount++;
37+
// break; // 找到一个就可以证明它不是质数了
38+
// }
39+
// }
40+
// }
41+
// return n - compositionCount - 2; // 需要减去1和n这两个数字
42+
43+
44+
// 上面的方法会超时,因此我们需要进行优化
45+
// 数学角度来看,如果一个数字可以分解为两个数字相乘(这两个数字不包括0和它本身),那么它就是合数
46+
constcompositions=[];// compositions[i] 表示i是否是合数
47+
letcount=0;
48+
for(leti=2;i<n;i++){
49+
if(!compositions[i])count++;
50+
for(letj=2;i*j<n;j++){
51+
compositions[i*j]=true;
52+
}
53+
}
54+
55+
returncount;
56+
57+
};
58+

‎backlog/21.merge-two-sorted-lists.js

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
/*
2+
*@lc app=leetcode id=21 lang=javascript
3+
*
4+
* [21] Merge Two Sorted Lists
5+
*
6+
* https://leetcode.com/problems/merge-two-sorted-lists/description/
7+
*
8+
* algorithms
9+
* Easy (46.02%)
10+
* Total Accepted: 562.7K
11+
* Total Submissions: 1.2M
12+
* Testcase Example: '[1,2,4]\n[1,3,4]'
13+
*
14+
* Merge two sorted linked lists and return it as a new list. The new list
15+
* should be made by splicing together the nodes of the first two lists.
16+
*
17+
* Example:
18+
*
19+
* Input: 1->2->4, 1->3->4
20+
* Output: 1->1->2->3->4->4
21+
*
22+
*
23+
*/
24+
/**
25+
* Definition for singly-linked list.
26+
* function ListNode(val) {
27+
* this.val = val;
28+
* this.next = null;
29+
* }
30+
*/
31+
/**
32+
*@param {ListNode} l1
33+
*@param {ListNode} l2
34+
*@return {ListNode}
35+
*/
36+
varmergeTwoLists=function(l1,l2){
37+
letcurrent=newListNode();
38+
constdummy=current;
39+
40+
while(l1||l2){
41+
if(!l1){
42+
current.next=l2;
43+
returndummy.next;
44+
}elseif(!l2){
45+
current.next=l1;
46+
returndummy.next;
47+
}
48+
49+
if(l1.val<=l2.val){
50+
current.next=l1;
51+
l1=l1.next;
52+
}else{
53+
current.next=l2;
54+
l2=l2.next;
55+
}
56+
57+
current=current.next;
58+
}
59+
60+
returndummy.next;
61+
62+
// if (l1 === null) return l2;
63+
// if (l2 === null) return l1;
64+
// if (l1.val < l2.val) {
65+
// l1.next = mergeTwoLists(l1.next, l2);
66+
// return l1;
67+
// } else {
68+
// l2.next = mergeTwoLists(l1, l2.next);
69+
// return l2;
70+
// }
71+
};

‎backlog/268.missing-number.js

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/*
2+
*@lc app=leetcode id=268 lang=javascript
3+
*
4+
* [268] Missing Number
5+
*
6+
* https://leetcode.com/problems/missing-number/description/
7+
*
8+
* algorithms
9+
* Easy (47.60%)
10+
* Total Accepted: 267.7K
11+
* Total Submissions: 556.2K
12+
* Testcase Example: '[3,0,1]'
13+
*
14+
* Given an array containing n distinct numbers taken from 0, 1, 2, ..., n,
15+
* find the one that is missing from the array.
16+
*
17+
* Example 1:
18+
*
19+
*
20+
* Input: [3,0,1]
21+
* Output: 2
22+
*
23+
*
24+
* Example 2:
25+
*
26+
*
27+
* Input: [9,6,4,2,3,5,7,0,1]
28+
* Output: 8
29+
*
30+
*
31+
* Note:
32+
* Your algorithm should run in linear runtime complexity. Could you implement
33+
* it using only constant extra space complexity?
34+
*/
35+
/**
36+
*@param {number[]} nums
37+
*@return {number}
38+
*/
39+
varmissingNumber=function(nums){
40+
// 缺失的数字一定是 0 到 n 之间的一个数字
41+
42+
// 这是一道数论的题目
43+
// 这里用到了一条性质: sum([1,n]) = n * (n+1) / 2
44+
letsum=0;
45+
for(letnumofnums)
46+
sum+=num;
47+
48+
return(nums.length*(nums.length+1))/2-sum;
49+
};
50+

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp