We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 6853214 commit 43e86d2Copy full SHA for 43e86d2
Medium/L954.go
@@ -0,0 +1,39 @@
1
+package Medium
2
+
3
+func canReorderDoubled(arr []int) bool {
4
+ if len(arr) == 0 {
5
+ return true
6
+ }
7
+ sort.Ints(arr)
8
+ mp := make(map[int]int)
9
+ for _, i := range arr {
10
+ if i == 0 {
11
+ continue
12
13
+ mp[i]++
14
15
16
+ for i := range arr {
17
+ if arr[i] != 0 {
18
+ if mp[arr[i]] > 0 {
19
+ tgt := arr[i] * 2
20
+ if arr[i] < 0 {
21
+ if arr[i]%2 != 0 {
22
+ return false
23
+ } else {
24
+ tgt = arr[i] / 2
25
26
27
+ val, exists := mp[tgt]
28
+ if !exists || val < mp[arr[i]] {
29
30
31
+ mp[tgt] = mp[tgt] - mp[arr[i]]
32
+ mp[arr[i]] = 0
33
34
35
36
37
38
39
+}
0 commit comments