邓心一 6 năm trước cách đây
mục cha
commit
93d67991b3
1 tập tin đã thay đổi với 21 bổ sung0 xóa
  1. 21 0
      easy/645.set-mismatch.go

+ 21 - 0
easy/645.set-mismatch.go

@@ -0,0 +1,21 @@
+func findErrorNums(nums []int) []int {
+	res := make([]int, 2)
+	for i := range nums {
+		v := abs(nums[i])
+		res[1] += v
+		if nums[v-1] < 0 {
+			res[0] = v
+		}
+		nums[v-1] *= -1
+	}
+	n := len(nums)
+	res[1] = (1+n)*n/2 - res[1] + res[0]
+	return res
+}
+
+func abs(x int) int {
+	if x < 0 {
+		return -x
+	}
+	return x
+}