LaiCode 376. Ascending Triple I

  • 题目描述
  • 思路
    • Case 1
    • Case 2
    • Case 3
  • Code

题目描述

Determine if the given integer array has three indices such that i < j < k and a[i] < a[j] < a[k].

Assumptions:

The given array is not null.
Examples:

{1, 5, 2, 4}, return true since i = 0, j = 2, k = 3

{4, 3, 2, 1}, return false

思路

参考了其他同学的解题思路, 解决此题不需要用3次for loop,设定两个变量small, medium,值均为Integer.MAX_VALUE,然后直接开始for (int num : array),分三种情况:

Case 1

num <= small, 则令small = num,即找到i。

Case 2

num > small && num <= medium,则令medium = num,即找到j。

Case 3

num > small && num > medium,则找到large/k,可以返回true。

Code

public class Solution {public boolean existIJK(int[] array) {if (array.length < 3){return false;}int s = Integer.MAX_VALUE;int m = Integer.MAX_VALUE;for (int num : array){if (num <= s){s = num;}if (num > s && num <= m){m = num;}if (num > s && num > m){return true;}}return false;}
}//TC:O(n)
//SC:O(1)

时间复杂度为O(n),空间复杂度为O(1)。

因为觉得思路很好,有必要记录,因此写下这篇文章。

LaiCode 376. Ascending Triple I相关推荐

  1. 解题报告(二)C、(darkBZOJ 3771)Triple(生成函数 + FFT + 容斥原理)(3)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  2. pandas使用sort_values函数对dataframe的日期数据列进行排序(设置ascending参数进行正序或者倒序排序)

    pandas使用sort_values函数对dataframe的日期数据列进行排序(设置ascending参数进行正序或者倒序排序) 目录

  3. seaborn可视化条形图并按照升序排序条形图进行可视化:Sort Bars in Barplot in Ascending Order in Python

    seaborn可视化条形图并按照升序排序条形图进行可视化:Sort Bars in Barplot in Ascending Order in Python 目录

  4. codewars048: Triple Double

    2019独角兽企业重金招聘Python工程师标准>>> Instructions Triple Double Solutions import java.util.regex.*; ...

  5. LeetCode 376. 摆动序列 中等难度

    376. 摆动序列 题目: 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列.第一个差(如果存在的话)可能是正数或负数.少于两个元素的序列也是摆动序列. 例如: [1,7,4,9 ...

  6. 【LeetCode】376. 摆动序列(图解)

    376. 摆动序列 一.问题 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列.第一个差(如果存在的话)可能是正数或负数.少于两个元素的序列也是摆动序列. 例如, [1,7,4, ...

  7. Dubbo3 Triple 协议简介与选型思考

    Dubbo3 提供了 Triple(Dubbo3).Dubbo2 协议,这是 Dubbo 框架的原生协议.除此之外,Dubbo3 也对众多第三方协议进行了集成,并将它们纳入 Dubbo 的编程与服务治 ...

  8. C语言实现升序优先队列Ascending priority queue(附完整源码)

    实现升序优先队列Ascending priority queue node结构体 升序优先队列Ascending priority queue完整源码(定义,实现,main函数测试) node结构体 ...

  9. hihoCoder #1872 : Pythagorean triple

    此题是 2018 年 ICPC Asia Beijing Regional Contest 的 C 题. 题目大意 求斜边长度不超过 $n$($ n \le 10^9$) 的勾股数的数量.不计两直角边 ...

  10. Java平台模块化系统(JSR 376)通过公开测评复议投票

    Java平台模块化系统(JPMS,Java Platform Module System)亦称为Jigsaw项目或JSR 376.尽管在两个月前JPMS未通过最初的公开评测投票(Public Revi ...

最新文章

  1. 安装解压版本的MySQL,安装过程中的常见命令,检查windows系统错误日志的方式来检查MySQL启动错误,关于Fatal error: Can't open and lock privilege
  2. SAP Spartacus 项目里的 ng-package.json
  3. java nosql_使用NoSQL实现实体服务–第4部分:Java EE
  4. WPF中的鼠标事件详解
  5. Jeecg 初级入门
  6. python安装api_Python API文档
  7. 剑指offer之使数组的奇数在偶数前面
  8. dmb: 数据库监控及灾备系统(for mysql)_MySQL企业级数据库灾备(备份)系统-DMB v2.1发布...
  9. 学习VIM之2014
  10. 数据是指在计算机科学中能够被,5. 数据在 计算机科学中 是指所有能输入到计算机并 被计算机程序处理的符号的总称。( )...
  11. 35、html制作QQ彩贝热销时装页面(注意:需要素材)
  12. C语言-简介及IDE介绍
  13. 面向对象编程---掷骰子游戏
  14. vc 热键、组合键的用法 MFC c++ hotkey WM_HOTKEY
  15. 多模态融合技术综述和应用
  16. 网易微博宣布将用户迁移至轻博客Lofter
  17. predict函数 R_超星尔雅-R语言学习总结(上)
  18. 关于Markdown使用方法及细则
  19. Unity 关于MatchVS使用static类型导致GameObject.Find与Action等不可用的解决方法
  20. 现代网络与控制技术--RS485

热门文章

  1. matlab线性方程组画图,线性方程组求解在Excel和Matlab中的实现
  2. Gl计算机语言,计算机编程和编程语言 - osc_bkg5rgl1的个人空间 - OSCHINA - 中文开源技术交流社区...
  3. 打印时候复选框勾选不见了_请取消勾选逐份打印复选框
  4. 谷歌(google)、百度、必应d等高级搜索指令使用
  5. 什么是资本的本质?到如何认清一个人的本质?
  6. sinc函数原型滤波器窗口matlab,sinc函数
  7. exePath must be specified when not running inside a stand alone exe
  8. Php图片验证码显示不出来的解决过程
  9. “我消灭你,但与你无关” 请接受跨界打劫!
  10. win7显示安装程序正在启动服务器失败,Win7安装程序正在启动服务怎么办?