feat(Go-Tool):修改单测位置,添加lomuto查找第k小元素算法代码及其单测(分治法)

This commit is contained in:
huangzj
2020-08-18 17:29:42 +08:00
parent 3f0e3b27f7
commit fa58e1a97f
27 changed files with 322 additions and 251 deletions
+50
View File
@@ -0,0 +1,50 @@
/*
* @Author : huangzj
* @Time : 2020/6/29 17:16
* @Description
*/
package rand
import (
"fmt"
"strconv"
"testing"
)
func TestRandByWeight(t *testing.T) {
fmt.Printf(strconv.Itoa(GetRandValueByWeight([]int{10, 20, 30, 50})))
list, list1 := GetAwardByWeight([][]int{{2, 2, 10}, {3, 3, 4}})
for _, r := range list {
fmt.Println(strconv.Itoa(r))
}
for _, r := range list1 {
fmt.Println(strconv.Itoa(r))
}
fmt.Println(GetByWeight([]int{10, 11, 12, 13}, []int{20, 30, 40, 50}))
list2, list3 := GetAwardByWeightWithLeftAward([][]int{{2, 3, 30}, {3, 3, 40}})
for _, r := range list2 {
fmt.Println(strconv.Itoa(r))
}
for _, r := range list3 {
for _, r1 := range r {
fmt.Println(strconv.Itoa(r1))
}
}
list4 := GetCountAwardsFromPool([][]int{{1, 2, 30}, {2, 2, 40}, {3, 2, 50}}, 2)
for _, r := range list4 {
for _, r1 := range r {
fmt.Println(strconv.Itoa(r1))
}
}
list5 := GetAwardByPercentage([][]int{{20, 3, 99}, {90, 3, 10}, {12, 3, 22}}, 100)
for _, r := range list5 {
fmt.Println(strconv.Itoa(r))
}
}
+24
View File
@@ -0,0 +1,24 @@
/*
* @Author : huangzj
* @Time : 2020/6/29 17:15
* @Description
*/
package rand
import (
"fmt"
"strconv"
"testing"
)
func TestRand(t *testing.T) {
fmt.Printf(strconv.Itoa(GetRandInt(100, 2000)))
for _, r := range GetRandIntNoRepeat(10, 100, 200) {
fmt.Printf(strconv.Itoa(r))
}
for _, r := range GetDiffNum([]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, 10) {
fmt.Printf(strconv.Itoa(r))
}
}