diff --git a/problems/0435.无重叠区间.md b/problems/0435.无重叠区间.md index 248526a1..23ee9f94 100644 --- a/problems/0435.无重叠区间.md +++ b/problems/0435.无重叠区间.md @@ -228,7 +228,27 @@ class Solution: Go: +Javascript: +```Javascript +var eraseOverlapIntervals = function(intervals) { + intervals.sort((a, b) => { + return a[1] - b[1] + }) + let count = 1 + let end = intervals[0][1] + + for(let i = 1; i < intervals.length; i++) { + let interval = intervals[i] + if(interval[0] >= right) { + end = interval[1] + count += 1 + } + } + + return intervals.length - count +}; +``` ----------------------- diff --git a/problems/0763.划分字母区间.md b/problems/0763.划分字母区间.md index bcdd71dc..1e2fcc03 100644 --- a/problems/0763.划分字母区间.md +++ b/problems/0763.划分字母区间.md @@ -128,7 +128,26 @@ class Solution: Go: - +Javascript: +```Javascript +var partitionLabels = function(s) { + let hash = {} + for(let i = 0; i < s.length; i++) { + hash[s[i]] = i + } + let result = [] + let left = 0 + let right = 0 + for(let i = 0; i < s.length; i++) { + right = Math.max(right, hash[s[i]]) + if(right === i) { + result.push(right - left + 1) + left = i + 1 + } + } + return result +}; +``` ----------------------- diff --git a/problems/二叉树的递归遍历.md b/problems/二叉树的递归遍历.md index f2072e30..68f17257 100644 --- a/problems/二叉树的递归遍历.md +++ b/problems/二叉树的递归遍历.md @@ -221,12 +221,12 @@ class Solution: Go: 前序遍历: -``` +```go func PreorderTraversal(root *TreeNode) (res []int) { var traversal func(node *TreeNode) traversal = func(node *TreeNode) { if node == nil { - return + return } res = append(res,node.Val) traversal(node.Left) @@ -239,12 +239,12 @@ func PreorderTraversal(root *TreeNode) (res []int) { ``` 中序遍历: -``` +```go func InorderTraversal(root *TreeNode) (res []int) { var traversal func(node *TreeNode) traversal = func(node *TreeNode) { if node == nil { - return + return } traversal(node.Left) res = append(res,node.Val) @@ -256,12 +256,12 @@ func InorderTraversal(root *TreeNode) (res []int) { ``` 后序遍历: -``` +```go func PostorderTraversal(root *TreeNode) (res []int) { var traversal func(node *TreeNode) traversal = func(node *TreeNode) { if node == nil { - return + return } traversal(node.Left) traversal(node.Right)