贪心算法:6.递增的三元子序列

题目链接:334. 递增的三元子序列(中等)

算法原理:

解法:贪心

Java代码:

java 复制代码
import java.util.ArrayList;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 王洋
 * Date: 2025-11-02
 * Time: 17:56
 */
class Solution {
    //334. 递增的三元子序列
    //模仿着上一题的思路写的,基本上一模一样,就是加了个判断
    //对二分的知识有点遗忘了,一边看着300的题的代码一边写的
    public boolean increasingTriplet(int[] nums) {
        ArrayList<Integer> ret=new ArrayList<>();
        int n=nums.length;
        ret.add(nums[0]);
        for(int i=1;i<n;i++){
            if(nums[i]>ret.get(ret.size()-1)) ret.add(nums[i]);
            else{
                int left=0,right=ret.size()-1;
                while(left<right){
                    int mid=left+(right-left)/2;
                    if(ret.get(mid)<nums[i]) left=mid+1;
                    else right=mid;
                }
                ret.set(left,nums[i]);
            }
            if(ret.size()==3) return true;
        }
        return false;
    }
    //吴小哲的解法,更易懂些
    public boolean increasingTriplet(int[] nums) {
        int a=nums[0],b=Integer.MAX_VALUE;
        for(int i=1;i<nums.length;i++){
            if(nums[i]>b) return true;
            else if(nums[i]>a) b=nums[i];
            else a=nums[i];
        }
        return false;
    }
}
相关推荐
智者知已应修善业19 小时前
【51单片机按键调节占空比3位数码管显示】2023-8-24
c++·经验分享·笔记·算法·51单片机
韦禾水19 小时前
记录一次项目部署到tomcat的异常
java·tomcat
曦月合一20 小时前
树莓派安装jdk、tomcat、vnc、谷歌浏览器开机自启等环境配置
java·tomcat·树莓派
.54820 小时前
## Sorting(排序算法)
python·算法·排序算法
此剑之势丶愈斩愈烈20 小时前
openssl 自建证书
java
面汤放盐20 小时前
何时使用以及何时不应使用微服务:没有银弹
java·运维·云计算
0xDevNull20 小时前
Spring Boot 自动装配:从原理到实践
java·spring boot·后端
wuweijianlove20 小时前
算法的平均复杂度建模与性能回归分析的技术7
算法·数据挖掘·回归
子琦啊20 小时前
【算法复习】字符串 | 两个底层直觉,吃透高频题
linux·运维·算法
qq_5895681021 小时前
java学习笔记,包括idea快捷键
java·ide·intellij-idea