Golang | Leetcode Golang题解之第456题132模式

题目:

题解:

Go 复制代码
func find132pattern(nums []int) bool {
    candidateI, candidateJ := []int{-nums[0]}, []int{-nums[0]}

    for _, v := range nums[1:] {
        idxI := sort.SearchInts(candidateI, 1-v)
        idxJ := sort.SearchInts(candidateJ, -v)
        if idxI < idxJ {
            return true
        }

        if v < -candidateI[len(candidateI)-1] {
            candidateI = append(candidateI, -v)
            candidateJ = append(candidateJ, -v)
        } else if v > -candidateJ[len(candidateJ)-1] {
            lastI := -candidateI[len(candidateI)-1]
            for len(candidateJ) > 0 && v > -candidateJ[len(candidateJ)-1] {
                candidateI = candidateI[:len(candidateI)-1]
                candidateJ = candidateJ[:len(candidateJ)-1]
            }
            candidateI = append(candidateI, -lastI)
            candidateJ = append(candidateJ, -v)
        }
    }

    return false
}
相关推荐
Swift社区44 分钟前
Swift LeetCode 246 题解:中心对称数(Strobogrammatic Number)
开发语言·leetcode·swift
能来帮帮蒟蒻吗2 小时前
GO语言学习(16)Gin后端框架
开发语言·笔记·学习·golang·gin
JavaPub-rodert3 小时前
一道go面试题
开发语言·后端·golang
6<73 小时前
【go】静态类型与动态类型
开发语言·后端·golang
weixin_420947646 小时前
windows golang,consul,grpc学习
windows·golang·consul
俏布斯7 小时前
算法日常记录
java·算法·leetcode
Json20113157 小时前
Gin、Echo 和 Beego三个 Go 语言 Web 框架的核心区别及各自的优缺点分析,结合其设计目标、功能特性与适用场景
前端·golang·gin·beego
脑子慢且灵7 小时前
蓝桥杯冲刺:一维前缀和
算法·leetcode·职场和发展·蓝桥杯·动态规划·一维前缀和
ゞ 正在缓冲99%…8 小时前
leetcode22.括号生成
java·算法·leetcode·回溯
SylviaW088 小时前
python-leetcode 63.搜索二维矩阵
python·leetcode·矩阵