Skip to content

Commit de63f59

Browse files
committed
add new files
1 parent 08f16ad commit de63f59

File tree

3 files changed

+79
-0
lines changed

3 files changed

+79
-0
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package main
2+
3+
func largestSumAfterKNegations(A []int, K int) int {
4+
sum := 0
5+
for K > 0 {
6+
small := 0
7+
for i := 0; i < len(A); i++ {
8+
if A[i] < A[small] {
9+
small = i
10+
}
11+
}
12+
A[small] = A[small] * -1
13+
K--
14+
}
15+
for _, v := range A {
16+
sum += v
17+
}
18+
return sum
19+
}

860. Lemonade Change.go

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package main
2+
3+
func lemonadeChange(bills []int) bool {
4+
m := make([]int, 2)
5+
for i := 0; i < len(bills); i++ {
6+
switch bills[i] {
7+
case 5:
8+
m[0]++
9+
break
10+
case 10:
11+
if m[0] <= 0 {
12+
return false
13+
}
14+
m[0]--
15+
m[1]++
16+
break
17+
case 20:
18+
flag := false
19+
if m[0] >= 1 && m[1] >= 1 {
20+
flag = true
21+
m[0]--
22+
m[1]--
23+
} else if m[0] >= 3 {
24+
flag = true
25+
m[0] -= 3
26+
}
27+
if !flag {
28+
return false
29+
}
30+
break
31+
}
32+
33+
}
34+
return true
35+
}

868. Binary Gap.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package main
2+
3+
func binaryGap(N int) int {
4+
var d, max int
5+
6+
if N&(N-1) == 0 {
7+
return 0
8+
}
9+
10+
for ; N > 0; N >>= 1 {
11+
if N&1 == 1 {
12+
if max == 0 {
13+
max = 1
14+
}
15+
if d > max {
16+
max = d
17+
}
18+
d = 0
19+
}
20+
if max > 0 {
21+
d++
22+
}
23+
}
24+
return max
25+
}

0 commit comments

Comments
 (0)