1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- 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
- }
|