邓心一 7 years ago
parent
commit
7f6bbabf3a
9 changed files with 31 additions and 56 deletions
  1. 2 0
      helper.go
  2. 2 6
      medium/11.go
  3. 2 6
      medium/80.go
  4. 4 8
      medium/81.go
  5. 6 10
      medium/82.go
  6. 6 9
      medium/86.go
  7. 2 6
      medium/89.go
  8. 5 5
      medium/90.go
  9. 2 6
      medium/91.go

+ 2 - 0
helper.go

@@ -4,11 +4,13 @@ import (
 	"fmt"
 	"fmt"
 )
 )
 
 
+// ListNode ...
 type ListNode struct {
 type ListNode struct {
 	Val  int
 	Val  int
 	Next *ListNode
 	Next *ListNode
 }
 }
 
 
+// TreeNode ...
 type TreeNode struct {
 type TreeNode struct {
 	Val   int
 	Val   int
 	Left  *TreeNode
 	Left  *TreeNode

+ 2 - 6
medium/11.go

@@ -1,9 +1,5 @@
 package main
 package main
 
 
-import (
-	"fmt"
-)
-
 func minInt(x, y int) int {
 func minInt(x, y int) int {
 	if x < y {
 	if x < y {
 		return x
 		return x
@@ -48,7 +44,7 @@ func maxArea(height []int) int {
 	return max
 	return max
 }
 }
 
 
-func main() {
+/* func main() {
 	arr := []int{1, 2, 4, 54, 6, 54}
 	arr := []int{1, 2, 4, 54, 6, 54}
 	fmt.Println(maxArea(arr))
 	fmt.Println(maxArea(arr))
-}
+} */

+ 2 - 6
medium/80.go

@@ -1,9 +1,5 @@
 package main
 package main
 
 
-import (
-	"fmt"
-)
-
 func removeDuplicates(nums []int) int {
 func removeDuplicates(nums []int) int {
 	n := len(nums)
 	n := len(nums)
 	if n < 3 {
 	if n < 3 {
@@ -24,9 +20,9 @@ func removeDuplicates(nums []int) int {
 	return res
 	return res
 }
 }
 
 
-func main() {
+/* func main() {
 	a1 := []int{0, 1, 1, 1, 2, 3, 3, 3}
 	a1 := []int{0, 1, 1, 1, 2, 3, 3, 3}
 	fmt.Println(removeDuplicates(a1))
 	fmt.Println(removeDuplicates(a1))
 	fmt.Println(a1)
 	fmt.Println(a1)
 	fmt.Println(removeDuplicates([]int{}))
 	fmt.Println(removeDuplicates([]int{}))
-}
+} */

+ 4 - 8
medium/81.go

@@ -1,11 +1,7 @@
 package main
 package main
 
 
-import (
-	"fmt"
-)
-
 // ??? so many problems here
 // ??? so many problems here
-func search(nums []int, target int) bool {
+/* func search(nums []int, target int) bool {
 	if len(nums) == 0 {
 	if len(nums) == 0 {
 		return false
 		return false
 	}
 	}
@@ -45,9 +41,9 @@ func search(nums []int, target int) bool {
 		}
 		}
 	}
 	}
 	return false
 	return false
-}
+} */
 
 
-func main() {
+/* func main() {
 	a1 := []int{4, 5, 6, 6, 6, 7, 7, 0, 0, 1, 1, 2, 2, 3}
 	a1 := []int{4, 5, 6, 6, 6, 7, 7, 0, 0, 1, 1, 2, 2, 3}
 	fmt.Println(search(a1, 6))
 	fmt.Println(search(a1, 6))
 	fmt.Println(search(a1, 4))
 	fmt.Println(search(a1, 4))
@@ -59,4 +55,4 @@ func main() {
 	a3 := []int{3, 1}
 	a3 := []int{3, 1}
 	fmt.Println(search(a3, 3))
 	fmt.Println(search(a3, 3))
 	fmt.Println(search(a3, 1))
 	fmt.Println(search(a3, 1))
-}
+} */

+ 6 - 10
medium/82.go

@@ -1,16 +1,12 @@
 package main
 package main
 
 
-import (
-	"fmt"
-)
-
 // ListNode ...
 // ListNode ...
-type ListNode struct {
+/* type ListNode struct {
 	Val  int
 	Val  int
 	Next *ListNode
 	Next *ListNode
-}
+} */
 
 
-func list2str(head *ListNode) string {
+/* func list2str(head *ListNode) string {
 	curr := head
 	curr := head
 	str := make([]rune, 0)
 	str := make([]rune, 0)
 	for curr != nil {
 	for curr != nil {
@@ -18,7 +14,7 @@ func list2str(head *ListNode) string {
 		curr = curr.Next
 		curr = curr.Next
 	}
 	}
 	return string(str)
 	return string(str)
-}
+} */
 
 
 /**
 /**
  * Definition for singly-linked list.
  * Definition for singly-linked list.
@@ -53,7 +49,7 @@ func deleteDuplicates(head *ListNode) *ListNode {
 	return dummy.Next
 	return dummy.Next
 }
 }
 
 
-func main() {
+/* func main() {
 	l15 := ListNode{5, nil}
 	l15 := ListNode{5, nil}
 	l14 := ListNode{5, &l15}
 	l14 := ListNode{5, &l15}
 	l13 := ListNode{4, &l14}
 	l13 := ListNode{4, &l14}
@@ -61,4 +57,4 @@ func main() {
 	l1 := &ListNode{1, &l12}
 	l1 := &ListNode{1, &l12}
 	fmt.Println(list2str(deleteDuplicates(l1)))
 	fmt.Println(list2str(deleteDuplicates(l1)))
 	fmt.Println(list2str(deleteDuplicates(nil)))
 	fmt.Println(list2str(deleteDuplicates(nil)))
-}
+} */

+ 6 - 9
medium/86.go

@@ -1,16 +1,12 @@
 package main
 package main
 
 
-import (
-	"fmt"
-)
-
 // ListNode ...
 // ListNode ...
-type ListNode struct {
+/* type ListNode struct {
 	Val  int
 	Val  int
 	Next *ListNode
 	Next *ListNode
-}
+} */
 
 
-func list2str(head *ListNode) string {
+/* func list2str(head *ListNode) string {
 	curr := head
 	curr := head
 	str := make([]rune, 0)
 	str := make([]rune, 0)
 	for curr != nil {
 	for curr != nil {
@@ -18,7 +14,7 @@ func list2str(head *ListNode) string {
 		curr = curr.Next
 		curr = curr.Next
 	}
 	}
 	return string(str)
 	return string(str)
-}
+} */
 
 
 /**
 /**
  * Definition for singly-linked list.
  * Definition for singly-linked list.
@@ -55,7 +51,7 @@ func partition(head *ListNode, x int) *ListNode {
 	return dummy.Next
 	return dummy.Next
 }
 }
 
 
-func main() {
+/* func main() {
 	l15 := ListNode{5, nil}
 	l15 := ListNode{5, nil}
 	l14 := ListNode{0, &l15}
 	l14 := ListNode{0, &l15}
 	l13 := ListNode{6, &l14}
 	l13 := ListNode{6, &l14}
@@ -68,3 +64,4 @@ func main() {
 	l2 := &ListNode{1, &l22}
 	l2 := &ListNode{1, &l22}
 	fmt.Println(list2str(partition(l2, 9)))
 	fmt.Println(list2str(partition(l2, 9)))
 }
 }
+*/

+ 2 - 6
medium/89.go

@@ -1,9 +1,5 @@
 package main
 package main
 
 
-import (
-	"fmt"
-)
-
 // generate gray code directly
 // generate gray code directly
 func grayCodeOld(n int) []int {
 func grayCodeOld(n int) []int {
 	res := make([]int, 1<<uint(n))
 	res := make([]int, 1<<uint(n))
@@ -34,6 +30,6 @@ func grayCode(n int) (res []int) {
 	return
 	return
 }
 }
 
 
-func main() {
+/* func main() {
 	fmt.Println(grayCode(2))
 	fmt.Println(grayCode(2))
-}
+} */

+ 5 - 5
medium/90.go

@@ -5,7 +5,7 @@ import (
 	"sort"
 	"sort"
 )
 )
 
 
-func combine(nums []int, k int) (res [][]int) {
+func combineWithDup(nums []int, k int) (res [][]int) {
 	n := len(nums)
 	n := len(nums)
 	if k == 0 || k == n {
 	if k == 0 || k == n {
 		row := make([]int, k)
 		row := make([]int, k)
@@ -14,11 +14,11 @@ func combine(nums []int, k int) (res [][]int) {
 		}
 		}
 		return append(res, row)
 		return append(res, row)
 	}
 	}
-	for _, row := range combine(nums[:n-1], k-1) {
+	for _, row := range combineWithDup(nums[:n-1], k-1) {
 		row = append(row, nums[n-1])
 		row = append(row, nums[n-1])
 		res = append(res, row)
 		res = append(res, row)
 	}
 	}
-	res = append(res, combine(nums[:n-1], k)...)
+	res = append(res, combineWithDup(nums[:n-1], k)...)
 	return res
 	return res
 }
 }
 
 
@@ -26,12 +26,12 @@ func subsetsWithDup(nums []int) [][]int {
 	sort.Ints(nums)
 	sort.Ints(nums)
 	res := [][]int{}
 	res := [][]int{}
 	for i := 0; i <= len(nums); i++ {
 	for i := 0; i <= len(nums); i++ {
-		res = append(res, combine(nums, i)...)
+		res = append(res, combineWithDup(nums, i)...)
 	}
 	}
 	return res
 	return res
 }
 }
 
 
 func main() {
 func main() {
-	arr := []int{1, 3, 1}
+	arr := []int{1, 3, 1, 3}
 	fmt.Println(subsetsWithDup(arr))
 	fmt.Println(subsetsWithDup(arr))
 }
 }

+ 2 - 6
medium/91.go

@@ -1,14 +1,10 @@
 package main
 package main
 
 
-import (
-	"fmt"
-)
-
 func numDecodings(s string) int {
 func numDecodings(s string) int {
 	return 0
 	return 0
 }
 }
 
 
-func main() {
+/* func main() {
 	str := "12432546"
 	str := "12432546"
 	fmt.Println(numDecodings(str))
 	fmt.Println(numDecodings(str))
-}
+} */