add missing number finder and some other changes

This commit is contained in:
Илья Смышляев 2022-09-20 01:56:29 +03:00
parent 376ff4255a
commit 5374dd7375
6 changed files with 43 additions and 2 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -1,5 +1,12 @@
package main package main
import (
"fmt"
"gotest/missing"
)
func main() { func main() {
fmt.Print(missing.FindNumber([]int{1, 3, 5, 2, 6, 7, -9, 8, 4}))
} }

24
missing/missing.go Normal file
View File

@ -0,0 +1,24 @@
package missing
import "fmt"
func FindNumber(A []int) int {
var elements_sum int
for i := 0; i < len(A); i++ {
if A[i] < 0 || A[i] > 100000 {
fmt.Print("array has negative element or longer than expected")
return A[i]
} else {
elements_sum = elements_sum + A[i]
}
}
nums_sum := (len(A) + 1) * (len(A) + 2) / 2
return nums_sum - elements_sum
}

1
missing/missing_test.go Normal file
View File

@ -0,0 +1 @@
package missing_test

View File

@ -1,3 +1,4 @@
// Циклическая ротация
package rotation package rotation
func Rotation(A []int, K int) []int { func Rotation(A []int, K int) []int {

View File

@ -1,10 +1,18 @@
// Чудные вхождения в массив
package unique package unique
import "fmt"
func FindUnique(A []int) int { func FindUnique(A []int) int {
var result int var result int
for i := 0; i < len(A); i++ { if len(A)%2 != 0 {
result = result ^ A[i] for i := 0; i < len(A); i++ {
//xor use
result = result ^ A[i]
}
} else {
fmt.Println("the number of elements is even")
} }
return result return result