File tree Expand file tree Collapse file tree 3 files changed +54
-0
lines changed
solution/0600-0699/0645.Set Mismatch Expand file tree Collapse file tree 3 files changed +54
-0
lines changed Original file line number Diff line number Diff line change @@ -127,6 +127,27 @@ class Solution {
127
127
}
128
128
```
129
129
130
+ ### ** Go**
131
+
132
+ 把每个数都放到它应该在的位置,最后出现“异常”的就是重复的数和丢失的数。
133
+
134
+ ``` go
135
+ func findErrorNums (nums []int ) []int {
136
+ n := len (nums)
137
+ for i := 0 ; i < n; i++ {
138
+ for nums[i] != i+1 && nums[nums[i]-1 ] != nums[i] {
139
+ nums[i], nums[nums[i]-1 ] = nums[nums[i]-1 ], nums[i]
140
+ }
141
+ }
142
+ for i := 0 ; i < n; i++ {
143
+ if nums[i] != i+1 {
144
+ return []int {nums[i], i + 1 }
145
+ }
146
+ }
147
+ return []int {-1 , -1 }
148
+ }
149
+ ```
150
+
130
151
### ** ...**
131
152
132
153
```
Original file line number Diff line number Diff line change @@ -104,6 +104,25 @@ class Solution {
104
104
}
105
105
```
106
106
107
+ ### ** Go**
108
+
109
+ ``` go
110
+ func findErrorNums (nums []int ) []int {
111
+ n := len (nums)
112
+ for i := 0 ; i < n; i++ {
113
+ for nums[i] != i+1 && nums[nums[i]-1 ] != nums[i] {
114
+ nums[i], nums[nums[i]-1 ] = nums[nums[i]-1 ], nums[i]
115
+ }
116
+ }
117
+ for i := 0 ; i < n; i++ {
118
+ if nums[i] != i+1 {
119
+ return []int {nums[i], i + 1 }
120
+ }
121
+ }
122
+ return []int {-1 , -1 }
123
+ }
124
+ ```
125
+
107
126
### ** ...**
108
127
109
128
```
Original file line number Diff line number Diff line change
1
+ func findErrorNums (nums []int ) []int {
2
+ n := len (nums )
3
+ for i := 0 ; i < n ; i ++ {
4
+ for nums [i ] != i + 1 && nums [nums [i ]- 1 ] != nums [i ] {
5
+ nums [i ], nums [nums [i ]- 1 ] = nums [nums [i ]- 1 ], nums [i ]
6
+ }
7
+ }
8
+ for i := 0 ; i < n ; i ++ {
9
+ if nums [i ] != i + 1 {
10
+ return []int {nums [i ], i + 1 }
11
+ }
12
+ }
13
+ return []int {- 1 , - 1 }
14
+ }
You can’t perform that action at this time.
0 commit comments