Skip to content

Commit aa0d535

Browse files
committed
add new files
1 parent de63f59 commit aa0d535

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

687. Longest Univalue Path.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package main
22

3-
import "log"
4-
53
type TreeNode struct {
64
Val int
75
Left *TreeNode

728. Self Dividing Numbers.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package main
22

3+
/**
4+
双重遍历,可以排除10的倍数
5+
*/
36
func selfDividingNumbers(left int, right int) []int {
47
ret := []int{}
58
for i := left; i <= right; i++ {

754. Reach a Number.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
11
package main
22

3+
/**
4+
首先由于对称性,target是正是负影响不大。
5+
当sum-target为偶数,1+...-(sum-target)/2+...+k=target,那么答案依然是k。#2
6+
当sum-target为奇数,那么sum-target+1是一个偶数
7+
类似#2的证明,1+...-(sum-target+1)/2+...k=target-1
8+
此时再考虑k的奇偶性。
9+
如果k是偶数并且k>sum-target+1
10+
那么1+...-(sum-target+1)/2+....-(k/2)...+k+(k+1)=target
11+
由#2相似可证,相当于在1+2....+k+(k+1)减去了sum-target+1和k。
12+
等价于sum+(k+1)-sum+target-1-k====>target也就是答案是k+1.#3
13+
如果k=sum-target+1,由#3可知依然是k+1.#4
14+
如果k是奇数:
15+
1+2+...-(sum-target+1)/2.....+k-(k+1)+(k+2)=sum-(sum-target+1)+1=target,
16+
因此答案是k+2.#5
17+
*/
318
func reachNumber(target int) int {
419
if target < 0 {
520
target = -target

0 commit comments

Comments
 (0)