欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

golang多維度排序及題解最長連續(xù)序列

 更新時(shí)間:2023年10月09日 10:50:03   作者:三四一十二  
這篇文章主要為大家介紹了golang多維度排序及題解最長連續(xù)序列示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

golang 多維度排序

func main() {
    type PersonAge struct {
        Name  string
        Age   int
        Hight int
    }
    ps := []PersonAge{
        {"bo", 31, 333},
        {"ao", 42, 34},
        {"ao", 41, 23423},
        {"ao", 40, 23423},
        {"ao", 45, 12},
        {"co", 17, 3434},
        {"do", 26, 2343},
    }
    sort.Slice(ps, func(i, j int) bool {
        //!=  有大小時(shí)排序,相等時(shí),下一個(gè)選項(xiàng)的優(yōu)先級
        if ps[i].Name != 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
}

結(jié)果

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

題解最長連續(xù)序列

給定一個(gè)未排序的整數(shù)數(shù)組 nums ,找出數(shù)字連續(xù)的最長序列(不要求序列元素在原數(shù)組中連續(xù))的長度。

請你設(shè)計(jì)并實(shí)現(xiàn)時(shí)間復(fù)雜度為 O(n) 的算法解決此問題。

最長連續(xù)序列原題

示例 1:

輸入:nums = [100,4,200,1,3,2]
輸出:4
解釋:最長數(shù)字連續(xù)序列是 [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 b
}

以上就是golang多維度排序及題解最長連續(xù)序列的詳細(xì)內(nèi)容,更多關(guān)于golang 排序的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解如何在Go服務(wù)中做鏈路追蹤

    詳解如何在Go服務(wù)中做鏈路追蹤

    使用 Go 語言開發(fā)微服務(wù)的時(shí)候,需要追蹤每一個(gè)請求的訪問鏈路,本文主要介紹了如何在Go 服務(wù)中做鏈路追蹤,感興趣的可以了解一下
    2021-09-09
  • 一文詳解Golang中consul的基本使用

    一文詳解Golang中consul的基本使用

    consul是一個(gè)開源服務(wù)注冊和服務(wù)發(fā)現(xiàn)的中心,可以用于微服務(wù)的注冊和服務(wù)之間的調(diào)用的發(fā)現(xiàn),幫助上游服務(wù)找到下游服務(wù)的具體ip:port或者是domain,也可以使用dns的方式讓consul幫你去做轉(zhuǎn)發(fā)。本文就來講講它的具體使用吧
    2023-03-03
  • Go設(shè)計(jì)模式之單例模式講解和代碼示例

    Go設(shè)計(jì)模式之單例模式講解和代碼示例

    單例是一種創(chuàng)建型設(shè)計(jì)模式,讓你能夠保證一個(gè)類只有一個(gè)實(shí)例,并提供一個(gè)訪問該實(shí)例的全局節(jié)點(diǎn),本文就通過代碼示例給大家講講Go單例模式,需要的朋友可以參考下
    2023-07-07
  • 詳解Golang 中的并發(fā)限制與超時(shí)控制

    詳解Golang 中的并發(fā)限制與超時(shí)控制

    這篇文章主要介紹了詳解Golang 中的并發(fā)限制與超時(shí)控制,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02
  • golang 實(shí)現(xiàn)一個(gè)restful微服務(wù)的操作

    golang 實(shí)現(xiàn)一個(gè)restful微服務(wù)的操作

    這篇文章主要介紹了golang 實(shí)現(xiàn)一個(gè)restful微服務(wù)的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Go語言break跳轉(zhuǎn)語句怎么使用

    Go語言break跳轉(zhuǎn)語句怎么使用

    這篇文章主要介紹了Go語言break跳轉(zhuǎn)語句怎么使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-01-01
  • 在Colaboratory上運(yùn)行Go程序的詳細(xì)過程

    在Colaboratory上運(yùn)行Go程序的詳細(xì)過程

    這篇文章主要介紹了在Colaboratory上運(yùn)行Go程序,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Go語言hello world實(shí)例

    Go語言hello world實(shí)例

    這篇文章主要介紹了Go語言hello world實(shí)例,本文先是給出了hello world的代碼實(shí)例,然后對一些知識點(diǎn)和技巧做了解釋,需要的朋友可以參考下
    2014-10-10
  • golang封裝一個(gè)執(zhí)行命令行的函數(shù)(return?stderr/stdout/exitcode)示例代碼

    golang封裝一個(gè)執(zhí)行命令行的函數(shù)(return?stderr/stdout/exitcode)示例代碼

    在?Go?語言中,您可以使用?os/exec?包來執(zhí)行外部命令,不通過調(diào)用?shell,并且能夠獲得進(jìn)程的退出碼、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出,下面給大家分享golang封裝一個(gè)執(zhí)行命令行的函數(shù)(return?stderr/stdout/exitcode)的方法,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • 提升編程技能:學(xué)習(xí)如何在Go語言中正確格式化時(shí)間

    提升編程技能:學(xué)習(xí)如何在Go語言中正確格式化時(shí)間

    想知道如何在Go語言中輕松地格式化時(shí)間嗎?別再浪費(fèi)時(shí)間了!本文將帶你快速入門,讓你的代碼更加優(yōu)雅高效,快來學(xué)習(xí)吧!
    2024-01-01

最新評論