package utils import ( "math" "sort" ) //Int64排序 func QuickSort(a []int64, left int64, right int64) { if left >= right { return } temp := a[left] start := left stop := right for right != left { for right > left && a[right] >= temp { right-- } for left < right && a[left] <= temp { left++ } if right > left { a[right], a[left] = a[left], a[right] } } a[right], a[start] = temp, a[right] QuickSort(a, start, left) QuickSort(a, right+1, stop) } // 字符串去重 func RemoveRepeatedElement(arr []string) (newArr []string) { newArr = make([]string, 0) sort.Strings(arr) for i := 0; i < len(arr); i++ { repeat := false for j := i + 1; j < len(arr); j++ { if arr[i] == arr[j] { repeat = true break } } if !repeat { newArr = append(newArr, arr[i]) } } return } func Round(f float64, n int) float64 { n10 := math.Pow10(n) return math.Trunc((f+0.5/n10)*n10) / n10 }