邓心一 6 years ago
parent
commit
f41995c74b

+ 16 - 0
easy/605.can-place-flowers.go

@@ -0,0 +1,16 @@
+func canPlaceFlowers(flowerbed []int, n int) bool {
+	l := len(flowerbed)
+	if l/2+1 < n {
+		return false
+	}
+	for i := 0; i < l && n != 0; i++ {
+		if flowerbed[i] == 1 {
+			i++
+		} else if i == l-1 || flowerbed[i+1] == 0 {
+			flowerbed[i] = 1
+			n--
+			i++
+		}
+	}
+	return n == 0
+}

+ 9 - 0
easy/633.sum-of-square-numbers.go

@@ -0,0 +1,9 @@
+func judgeSquareSum(c int) bool {
+	for a := 0; a*a <= c; a++ {
+		b2 := c - a*a
+		if b := int(math.Sqrt(float64(b2))); b*b == b2 {
+			return true
+		}
+	}
+	return false
+}

+ 15 - 0
easy/643.maximum-average-subarray-i.go

@@ -0,0 +1,15 @@
+func findMaxAverage(nums []int, k int) float64 {
+	n := len(nums)
+	max := 0.0
+	for i := 0; i < k; i++ {
+		max += float64(nums[i])
+	}
+	sum := max
+	for i := k; i < n; i++ {
+		sum += float64(nums[i]) - float64(nums[i-k])
+		if max < sum {
+			max = sum
+		}
+	}
+	return max / float64(k)
+}

+ 40 - 0
easy/671.second-minimum-node-in-a-binary-tree.go

@@ -0,0 +1,40 @@
+/**
+ * Definition for a binary tree node.
+ * type TreeNode struct {
+ *     Val int
+ *     Left *TreeNode
+ *     Right *TreeNode
+ * }
+ */
+func findSecondMinimumValue(root *TreeNode) int {
+	if root == nil {
+		return -1
+	}
+	return helper(root, root.Val)
+}
+
+func helper(root *TreeNode, min int) int {
+	if root.Left == nil {
+		return -1
+	}
+	var l, r int
+	if root.Left.Val == min {
+		l = helper(root.Left, min)
+	} else {
+		l = root.Left.Val
+	}
+	if root.Right.Val == min {
+		r = helper(root.Right, min)
+	} else {
+		r = root.Right.Val
+	}
+	switch {
+	case l == -1:
+		return r
+	case r == -1:
+		return l
+	case r < l:
+		return r
+	}
+	return l
+}