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

Commitaec1b03

Browse files
committed
add 63, 90, 93
1 parent5877cab commitaec1b03

File tree

4 files changed

+93
-1
lines changed

4 files changed

+93
-1
lines changed

‎Medium/63-uniquePathsII.js‎

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
* Key: dp[i][j] = dp[i - 1][j] + dp[i][j - 1]
3+
* In this question, if obstacleGrid[i][j] === 1, set dp[i][j] = 0
4+
*
5+
*@param {number[][]} obstacleGrid
6+
*@return {number}
7+
*/
8+
varuniquePathsWithObstacles=function(obstacleGrid){
9+
varpath=[[]];
10+
obstacleGrid[0][0]===0 ?path[0][0]=1 :path[0][0]=0;
11+
for(vari=1;i<obstacleGrid.length;i++){
12+
// In JavaScript, initialize an new empty array for row i, so that you can have a
13+
// two-demension array
14+
path[i]=[];
15+
(path[i-1][0]===1&&obstacleGrid[i][0]===0) ?path[i][0]=1 :path[i][0]=0;
16+
}
17+
for(varj=1;j<obstacleGrid[0].length;j++){
18+
(path[0][j-1]===1&&obstacleGrid[0][j]===0) ?path[0][j]=1 :path[0][j]=0;
19+
}
20+
21+
for(vari=1;i<obstacleGrid.length;i++){
22+
for(varj=1;j<obstacleGrid[i].length;j++){
23+
if(obstacleGrid[i][j]===0){
24+
path[i][j]=path[i-1][j]+path[i][j-1];
25+
}else{
26+
path[i][j]=0;
27+
}
28+
}
29+
}
30+
returnpath[path.length-1][path[0].length-1];
31+
};

‎Medium/90-subsetsII.js‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/**
2+
* Key same solution as subsets, skip the duplicated nodes
3+
*@see line 23
4+
*
5+
*@param {number[]} nums
6+
*@return {number[][]}
7+
*/
8+
varsubsetsWithDup=function(nums){
9+
nums.sort(function(a,b){
10+
returna-b;
11+
});
12+
varresult=[];
13+
varresults=[result];
14+
helper(nums,0,result,results);
15+
returnresults;
16+
};
17+
18+
varhelper=function(nums,start,result,results){
19+
for(vari=start;i<nums.length;i++){
20+
result.push(nums[i]);
21+
results.push(result.slice());
22+
helper(nums,i+1,result,results);
23+
result.pop(nums[i]);
24+
while(nums[i]===nums[i+1])i++;
25+
}
26+
};

‎Medium/93-restoreIPAddresses.js‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/**
2+
*@param {string} s
3+
*@return {string[]}
4+
*/
5+
varrestoreIpAddresses=function(s){
6+
varstrLength=s.length;
7+
varresult=[];
8+
9+
for(vari=1;i<4&&i<strLength-2;i++){
10+
for(varj=i+1;j<4+i&&j<strLength-1;j++){
11+
for(vark=j+1;k<4+j&&k<strLength;k++){
12+
varstr1=s.substring(0,i);
13+
varstr2=s.substring(i,j);
14+
varstr3=s.substring(j,k);
15+
varstr4=s.substring(k,strLength);
16+
if(isValid(str1)&&isValid(str2)&&isValid(str3)&&isValid(str4)){
17+
result.push(str1+"."+str2+"."+str3+"."+str4);
18+
}
19+
}
20+
}
21+
}
22+
23+
returnresult;
24+
};
25+
26+
varisValid=function(str){
27+
if((str[0]==='0'&&str.length>1)||str.length>3||parseInt(str)>255||str.length===0){
28+
returnfalse;
29+
}
30+
31+
returntrue;
32+
};

‎README.md‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,9 @@
9595
*[59. Spiral Matrix II](https://leetcode.com/problems/spiral-matrix-ii/) -[Solution](./Medium/59-spiralMatrixII.js)
9696
*[61. Rotate List](https://leetcode.com/problems/rotate-list/) -[Solution](./Medium/61-rotateList.js)
9797
*[62.Unique Paths](https://leetcode.com/problems/unique-paths/) -[Solution](./Medium/62-uniquePaths.js)
98-
*[69. Sqrt(x)](https://leetcode.com/problems/sqrtx/) -[Solution](./Medium/69-sqrtx.js)
98+
*[63.Unique Paths II](https://leetcode.com/problems/unique-paths-ii/) -[Solution](./Medium/63-uniquePathsII.js)
9999
*[64.Minimum Path Sum](https://leetcode.com/problems/minimum-path-sum/) -[Solution](./Medium/64-minimumPathSum.js)
100+
*[69. Sqrt(x)](https://leetcode.com/problems/sqrtx/) -[Solution](./Medium/69-sqrtx.js)
100101
*[73. Set Matrix Zeroes](https://leetcode.com/problems/set-matrix-zeroes/) -[Solution](./Medium/73-setMatrixZeroes.js)
101102
*[74. Search a 2D Matrix](https://leetcode.com/problems/search-a-2d-matrix/) -[Solution](./Medium/74-search2DMatrix.js)
102103
*[75. Sort Colors](https://leetcode.com/problems/sort-colors/) -[Solution](./Medium/75-sortColors.js)
@@ -106,7 +107,9 @@
106107
*[80. Remove Duplicates from Sorted Array II](https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/) -[Solution](./Medium/80-removeDuplicatesII.js)
107108
*[82. Remove Duplicates from Sorted List II](https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/) -[Solution](./Medium/82-removeDuplicatesListII.js)
108109
*[89. Gray Code](https://leetcode.com/problems/gray-code/) -[Solution](./Medium/89-grayCode.js)
110+
*[90. Subsets II](https://leetcode.com/problems/subsets-ii/) -[Solution](./Medium/90-subsetsII.js)
109111
*[92. Reverse Linked List II](https://leetcode.com/problems/reverse-linked-list-ii/) -[Solution](./Medium/92-reverseLinkedListII.js)
112+
*[93. Restore IP Addresses](https://leetcode.com/problems/restore-ip-addresses/) -[Solution](./Medium/93-restoreIPAddresses.js)
110113
*[94. Binary Tree Inorder Traversal](https://leetcode.com/problems/binary-tree-inorder-traversal/) -[Solution](./Medium/94-binaryTreeInorder.js)
111114
*[96. Unique Binary Search Trees](https://leetcode.com/problems/unique-binary-search-trees/) -[Solution](./Medium/96-uniqueBinarySearchTrees.js)
112115
*[108. Convert Sorted Array to Binary Search Tree](https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/) -[Solution](./Medium/108-convertSortedArraytoBST.js)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp