当前位置: 首页 > article >正文

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

题目:

题解:

class Solution:
    def find132pattern(self, nums: List[int]) -> bool:
        candidate_i, candidate_j = [-nums[0]], [-nums[0]]

        for v in nums[1:]:
            idx_i = bisect.bisect_right(candidate_i, -v)
            idx_j = bisect.bisect_left(candidate_j, -v)
            if idx_i < idx_j:
                return True

            if v < -candidate_i[-1]:
                candidate_i.append(-v)
                candidate_j.append(-v)
            elif v > -candidate_j[-1]:
                last_i = -candidate_i[-1]
                while candidate_j and v > -candidate_j[-1]:
                    candidate_i.pop()
                    candidate_j.pop()
                candidate_i.append(-last_i)
                candidate_j.append(-v)

        return False

http://www.kler.cn/news/339099.html

相关文章:

  • 0-1开发自己的obsidian plugin DAY 8
  • springboot 打包部署jsp页面两种方式war/jar
  • 中文llama3仿openai api实战
  • Python虚拟环境打包
  • 【题解】【模拟】—— [NOIP2013 普及组] 表达式求值
  • 【物流配送中心选址问题】基于改进粒子群算法
  • 回归预测 | Matlab基于SABO-SVR减法平均算法优化支持向量机的数据多输入单输出回归预测
  • 力扣之603.连续空余座位
  • Spring Boot:打造下一代医院管理系统
  • Go语言实现长连接并发框架 - 消息
  • 根据视频id查询播放量
  • ARTS Week 43
  • GO网络编程(一):基础知识
  • 【数据结构】【顺序表算法】 删除特定值
  • 搜索引擎相关的一段实习经历
  • AR智能眼镜之战:Meta vs Snap
  • 探索计算机科学的奥秘:从基础到进阶
  • Py2neo 教程
  • 实施威胁暴露管理、降低网络风险暴露的最佳实践
  • 面向对象技术——设计模式