首页 > 编程语言 >11.1算法

11.1算法

时间:2023-11-01 12:11:40浏览次数:42  
标签:second nums int 11.1 三元组 算法 true first

递增的三元子序列
给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。

如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。

 

示例 1:

输入:nums = [1,2,3,4,5]
输出:true
解释:任何 i < j < k 的三元组都满足题意
示例 2:

输入:nums = [5,4,3,2,1]
输出:false
解释:不存在满足题意的三元组
示例 3:

输入:nums = [2,1,5,0,4,6]
输出:true
解释:三元组 (3, 4, 5) 满足题意,因为 nums[3] == 0 < nums[4] == 4 < nums[5] == 6
 

提示:

1 <= nums.length <= 5 * 105
-231 <= nums[i] <= 231 - 1
 

进阶:你能实现时间复杂度为 O(n) ,空间复杂度为 O(1) 的解决方案吗?

class Solution { public:     bool increasingTriplet(vector<int>& nums) {     int first = INT32_MAX;     int second = first;     int third = INT32_MIN;     for(int x:nums){         if(x<=first) first =x;         else if(x<=second) second = x;         else{             third = x;             return true;         }     }     return false;     } };   关键:首先存在只要找一组值就行,就是要找到一个最小值,一个最大值,一个中间值, 那么只需要遍历所有元素,若它是最小值存入first,这样取值范围就会更改, second的范围是只要比first大就可以,最后一个值只要比前两个稍微大一些就行, 用=将条件缩小,减少处理情况,对于全1的情况就可以处理

标签:second,nums,int,11.1,三元组,算法,true,first
From: https://www.cnblogs.com/minipython-wldx/p/17802771.html

相关文章

  • R语言实现MCMC中的Metropolis–Hastings算法与吉布斯采样|附代码数据
     最近我们被客户要求撰写关于MCMC的研究报告,包括一些图形和统计输出。创建测试数据第一步,我们创建一些测试数据,用来拟合我们的模型。我们假设预测变量和因变量之间存在线性关系,所以我们用线性模型并添加一些噪音。  trueA<-5trueB<-0trueSd<-10sampleSize<-31......
  • Python学习笔记(一)蒙特卡罗算法求圆周率π
    绪论\(\pi\)(圆周率)是数学和物理学普遍存在的常数之一,可以被定义为圆周长和直径之比或者圆的面积与半径平方之比(\(l=2\pir\)和\(S=\pir^2\))。\(\pi\)是一个无理数,下面将用蒙特卡罗算法求\(\pi\)的数值近似。要求1.要求能算到小数点后面越多越好‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫......
  • 贪心算法之找零钱
    defgreedy_change(amount,coins):coins.sort(reverse=True)#将硬币按面额从大到小排序change=[]forcoinincoins:whileamount>=coin:amount-=coinchange.append(coin)#将硬币加入到找零列表中returnch......
  • 算法常见题型
    1.跳跃问题(贪心):给定一个非负整数数组,初始位于第一个位置,输出调到最后一个位置的最短步数,跳不出来则输出-1。letnums=[4,3,1,0,2,2,3,2,0,4]console.log(jumpStep(nums))functionjumpStep(nums){letsteps=0,startIndex=0,endIndex=nums[0]letlen=......
  • WOA-CNN基于鲸鱼算法优化卷积神经网络的多变量回归预测 可直接运行 注释清晰适合新手
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • GJO-LSTM-Adaboost基于金豺算法优化长短期记忆神经网络LSTM的Adaboost分类预测
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • GJO-BILSTM-Adaboost基于金豺算法优化双向长短期记忆神经网络BILSTM的Adaboost分类预
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • 智慧矿山:智能化解决皮带跑偏问题的视频分析算法
    一、引言随着科技的发展,人工智能技术已经在各个领域得到广泛应用。而在智慧矿山领域,皮带跑偏视频分析是其中一个重要的应用方向。本文将详细介绍皮带跑偏视频分析AI算法的原理,以期为智慧矿山的发展提供有益的参考。二、算法原理1.视频采集:首先,我们需要对皮带跑偏现场进行视频采集,......
  • 1020. 【软件认证】任务调度算法
    题目描述某分布式任务调度系统有taskNum个任务(编号从1到taskNum)需要调度,调度策略:任务之间可能存在依赖关系,且无循环依赖,如任务1依赖任务2,那么要等待任务2执行完才能执行任务1;如果任务之间没有依赖关系,则可以并发执行(假设并发所需资源是充足的)。现给出任务间的依赖关系,并......
  • 二分查找算法题1
    /***https://leetcode.cn/problems/sqrtx/description/*二分查找*将数据分成两部分*第一部分为平方小于等于target*另外的为大于target*left=mid。right=mid-1;使用+1求中**/publicstaticvoidhanShu19(intx){......