开发者

golang多维度排序及题解最长连续序列

目录
  • golang 多维度排序
    • 结果
  • 题解最长连续序列

    golang 多维度排序

    func main() {
        type PersonAge struct {
            Name  string
            Age   int
            Hight int
        }
        ps := []PersonAge{
            {"bo", 31, 333},
            {"ao", 42, 34},
            {"ao", 41, 23423},
            {javascript"ao", 40, 23423},
            {"ao", 45, 12},
            {"co", 17, 3434},
            {"do", 26, 2343},
        }
        sort.Slice(ps, func(i, j int) bool {
            //!=  有大小时排序,相等时,下一个选项的优先级
            if ps[i].javascriptName != ps[j].Name {
                return ps[i].Name < ps[j].Name
            }
            if ps[i].Hight != ps[j].Hight {
                return ps[i].Hight < ps[j].Hight
            }
            return ps[i].Age < ps[j].Age
        })
        log.Println(ps)
        return
    }

    结果

    [{ao 45 12} {ao 42 34} {ao 40 23423} {ao 41 23423} {bo 31 333} {co 17 3434} {do 26 2343}]

    题解最长连续序列

    给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。

    请你设计并实现时间复杂度为 O(n) 的算法解决此问题。

    最长连续www.devze.com序列原题

    示例 1:

    输入:nums = [100,4,200,1,3,2]

    输出:4

    解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。

    示例 2:

    输入:nums = [0,3,7,2,5,8,4,6,0,1]

    输出:9

    //排序
    func longestConsecutive(nums []int) int {
        if len(nums) == 0 {
            return 0
        }
        sort.Ints(nums)
        long := 1
        lst := 1
        tmp := nums[0]
        for i, _ := range nums {
            if nums[i] == tmp+1 {
                long++
                lst = max(lst, long)
                tmp = nums[i]
            } else if nums[i] == tmp {
                continue
            } else {
                long = 1
                tmp = nums[i]
            }
        }
        return lst
    }
    func max(a,b int)int{
        if a>b{
            return a
        }
        return bphp
    }

    以上就是golang多维度排序及题解最长连续序列的详细内容,更多关于golanpythong 排序的资料请关注编程客栈(www.devze.com)其它相关文章!

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜