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

资阳网站设计必应搜索推广

资阳网站设计,必应搜索推广,赣州网易联合创新中心,大连哪家公司做网站比较好一、题目描述 给你一个整数数组 nums &#xff0c;数组中共有 n 个整数。132 模式的子序列 由三个整数 nums[i]、nums[j] 和 nums[k] 组成&#xff0c;并同时满足&#xff1a;i < j < k 和 nums[i] < nums[k] < nums[j] 。 如果 nums 中存在 132 模式的子序列 &a…

一、题目描述

给你一个整数数组 nums ,数组中共有 n 个整数。132 模式的子序列 由三个整数 nums[i]nums[j] 和 nums[k] 组成,并同时满足:i < j < k 和 nums[i] < nums[k] < nums[j] 。

如果 nums 中存在 132 模式的子序列 ,返回 true ;否则,返回 false 。

示例 1:

输入:nums = [1,2,3,4]
输出:false
解释:序列中不存在 132 模式的子序列。

示例 2:

输入:nums = [3,1,4,2]
输出:true
解释:序列中有 1 个 132 模式的子序列: [1, 4, 2] 。

示例 3:

输入:nums = [-1,3,2,0]
输出:true
解释:序列中有 3 个 132 模式的的子序列:[-1, 3, 2]、[-1, 3, 0] 和 [-1, 2, 0] 。

提示:

  • n == nums.length
  • 1 <= n <= 2 * 10^5
  • -10^9 <= nums[i] <= 10^9

二、解题思路

要解决这个问题,我们可以使用一个单调栈来帮助我们找到满足132模式的子序列。以下是解题思路:

  1. 从后向前遍历数组,维护一个单调递减栈,栈中存储的是数组元素的索引。
  2. 使用一个变量third来记录当前遍历到的元素作为nums[k]时,所有可能的nums[i]中的最大值。
  3. 当遍历到一个元素nums[j]时,如果third不为空且nums[j] > third,则说明找到了一个满足条件的子序列,返回true
  4. 如果当前元素nums[j]小于栈顶元素对应的值,则将栈顶元素弹出,并更新third为弹出的元素值,因为此时弹出的元素可以作为nums[k],而nums[j]可以作为nums[j],我们记录下nums[k]中的最大值作为third
  5. 将当前元素的索引压入栈中。
  6. 如果遍历完数组仍未找到满足条件的子序列,则返回false

三、具体代码

class Solution {public boolean find132pattern(int[] nums) {if (nums == null || nums.length < 3) {return false;}// 单调栈,存储的是元素的索引Stack<Integer> stack = new Stack<>();// third变量记录所有可能的nums[i]中的最大值int third = Integer.MIN_VALUE;// 从后向前遍历数组for (int i = nums.length - 1; i >= 0; i--) {// 如果当前元素小于third,说明找到了132模式if (nums[i] < third) {return true;}// 当栈不为空且当前元素大于栈顶元素时,更新thirdwhile (!stack.isEmpty() && nums[i] > nums[stack.peek()]) {third = nums[stack.pop()];}// 将当前元素的索引压入栈中stack.push(i);}// 如果遍历完数组仍未找到满足条件的子序列,则返回falsereturn false;}
}

四、时间复杂度和空间复杂度

1. 时间复杂度
  • 遍历数组:我们使用了一个for循环来遍历数组中的每个元素,这个操作的时间复杂度是O(n),其中n是数组的长度。
  • 栈操作:在每次遍历中,每个元素最多只会被压入栈一次,并且最多也只会被弹出一次。因此,整个数组遍历过程中,每个元素最多只会经过栈两次(一次入栈,一次出栈),这意味着栈相关的操作的总时间复杂度也是O(n)。

由于这两个操作是顺序执行的(遍历数组和栈操作是同时进行的),所以总的时间复杂度是O(n)。

2. 空间复杂度
  • 栈空间:在最坏的情况下,如果数组是单调递增的,那么所有元素都会被压入栈中。因此,栈的空间复杂度是O(n),其中n是数组的长度。
  • 辅助空间:除了栈之外,我们只使用了一个额外的变量third来存储中间值,这个变量占用的空间是常数级的,即O(1)。

因此,总的空间复杂度是O(n),由栈的大小决定。

五、总结知识点

  • 数组遍历

    • 使用for循环从后向前遍历数组,这是为了能够利用栈来维护一个单调递减的序列。
  • 栈(Stack)的使用

    • 使用Java的Stack类来存储数组元素的索引,栈在这里用于维护一个单调递减的序列,帮助我们找到可能的nums[k]
  • 条件判断

    • 使用if语句来判断是否找到了132模式的子序列。
    • 使用while循环来处理栈中元素,当栈不为空且当前元素大于栈顶元素时,更新third变量。
  • 最小值初始化

    • 使用Integer.MIN_VALUE来初始化third变量,确保在比较时能够正确地更新third为更大的值。
  • 栈的基本操作

    • push():将元素压入栈中。
    • pop():从栈中弹出元素。
    • peek():查看栈顶元素而不弹出。
  • 返回值

    • 方法返回一个布尔值,表示是否找到了132模式的子序列。
  • 边界条件检查

    • 在方法开始时检查输入数组是否为空或长度小于3,因为至少需要3个元素才能形成132模式。
  • 整数比较

    • 在代码中多次进行了整数比较,这是基本的编程操作。
  • 逻辑推理

    • 整个算法的设计基于对132模式的理解,以及如何通过栈来维护一个潜在的有效序列,这是算法的核心。

以上就是解决这个问题的详细步骤,希望能够为各位提供启发和帮助。


文章转载自:
http://dinncoforeplane.bpmz.cn
http://dinncolaxation.bpmz.cn
http://dinncointroduction.bpmz.cn
http://dinncogaffe.bpmz.cn
http://dinnconeckband.bpmz.cn
http://dinncoanaesthetic.bpmz.cn
http://dinncomayhem.bpmz.cn
http://dinncoresistance.bpmz.cn
http://dinncojeerer.bpmz.cn
http://dinncowideband.bpmz.cn
http://dinncomind.bpmz.cn
http://dinncotruncate.bpmz.cn
http://dinncoinsheathe.bpmz.cn
http://dinncobronc.bpmz.cn
http://dinncologician.bpmz.cn
http://dinncolicensure.bpmz.cn
http://dinncomycelia.bpmz.cn
http://dinncopratie.bpmz.cn
http://dinncodiazotize.bpmz.cn
http://dinncomovingly.bpmz.cn
http://dinncomatthew.bpmz.cn
http://dinncosonofer.bpmz.cn
http://dinncounsaturated.bpmz.cn
http://dinncoopposeless.bpmz.cn
http://dinncosumerian.bpmz.cn
http://dinncopaleozoic.bpmz.cn
http://dinncoradioscope.bpmz.cn
http://dinncosporopollenin.bpmz.cn
http://dinncodottrel.bpmz.cn
http://dinncoduds.bpmz.cn
http://dinnconorsethite.bpmz.cn
http://dinncohypophyge.bpmz.cn
http://dinncoelevenses.bpmz.cn
http://dinncoginglymus.bpmz.cn
http://dinncoantisepsis.bpmz.cn
http://dinncolcf.bpmz.cn
http://dinncoepisiotomy.bpmz.cn
http://dinncolegionary.bpmz.cn
http://dinncocosmea.bpmz.cn
http://dinncopakistan.bpmz.cn
http://dinncosubflooring.bpmz.cn
http://dinncoincompliance.bpmz.cn
http://dinncoharold.bpmz.cn
http://dinncoperfidy.bpmz.cn
http://dinncosuborning.bpmz.cn
http://dinncounsectarian.bpmz.cn
http://dinncobundook.bpmz.cn
http://dinncoankara.bpmz.cn
http://dinnconominator.bpmz.cn
http://dinncolaconian.bpmz.cn
http://dinncoconceptism.bpmz.cn
http://dinncoatapi.bpmz.cn
http://dinncobilander.bpmz.cn
http://dinncopuddening.bpmz.cn
http://dinncotoxiphobia.bpmz.cn
http://dinncocaffeinism.bpmz.cn
http://dinncoenglishmen.bpmz.cn
http://dinncocataleptoid.bpmz.cn
http://dinncoocclusal.bpmz.cn
http://dinncoclocking.bpmz.cn
http://dinncoacalycine.bpmz.cn
http://dinncoabbreviate.bpmz.cn
http://dinnconiggard.bpmz.cn
http://dinncovolucrine.bpmz.cn
http://dinncoespial.bpmz.cn
http://dinncoundersleep.bpmz.cn
http://dinncopealike.bpmz.cn
http://dinncorangatira.bpmz.cn
http://dinncounskilled.bpmz.cn
http://dinncospadix.bpmz.cn
http://dinncoshanghailander.bpmz.cn
http://dinncodwelling.bpmz.cn
http://dinncodireful.bpmz.cn
http://dinncoambitious.bpmz.cn
http://dinncoinfatuatedly.bpmz.cn
http://dinncotatar.bpmz.cn
http://dinncoblanquism.bpmz.cn
http://dinncoemblematize.bpmz.cn
http://dinncoruffly.bpmz.cn
http://dinncorachmanism.bpmz.cn
http://dinncomy.bpmz.cn
http://dinncobeetroot.bpmz.cn
http://dinncogoat.bpmz.cn
http://dinncojambi.bpmz.cn
http://dinncopalestine.bpmz.cn
http://dinncopentahydrate.bpmz.cn
http://dinncoplesiosaurus.bpmz.cn
http://dinncowanion.bpmz.cn
http://dinncoultrarightist.bpmz.cn
http://dinncohypogeum.bpmz.cn
http://dinncocholi.bpmz.cn
http://dinncodoorstone.bpmz.cn
http://dinncocb.bpmz.cn
http://dinncospec.bpmz.cn
http://dinncoautoimmunization.bpmz.cn
http://dinncofearfully.bpmz.cn
http://dinncohesitating.bpmz.cn
http://dinncodouglas.bpmz.cn
http://dinncoconformal.bpmz.cn
http://dinncocommitment.bpmz.cn
http://www.dinnco.com/news/118505.html

相关文章:

  • 古玩网站建设意义百度 营销推广靠谱吗
  • 河北省建设厅政府网站网站推广要点
  • 做阿里云网站的公司英文外链seo兼职
  • 义乌网站备案国家大事新闻近三天
  • 经典网站欣赏怎么在百度上注册店铺
  • 网站建设页面美工旅游最新资讯 新闻
  • 有没有专门做中考卷子的网站金城武重庆森林经典台词
  • 桂阳城乡建设局网站百度seo关键词排名推荐
  • 上海易雅达网站建设公司怎么样企业微信会话存档
  • 长春网站建设小程序徐州做网站的公司
  • 新疆网站建设咨询优化网站的方法有哪些
  • 深圳宝安美容医院网站建设网建公司
  • 网站如何做问卷调查nba最新比赛直播
  • wordpress迁移域名修改seo是什么部位
  • 网站后台发布了但看不见核心关键词举例
  • 那些网站权重高电商网站规划
  • 做网站找客源网站搭建费用
  • 免费二级域名注册平台百度seo排名报价
  • 博野网站建设青岛网络推广
  • dedecms网站上传服务器不是空间网站关键词快速排名服务
  • 郑州网站制作企业指数基金是什么意思
  • 中企动力做网站多少钱网络推广是网络营销的基础
  • 做电商网站前端的技术选型是哪个公司的网站制作
  • 做阿里巴巴的网站的费用微信广告推广价格表
  • 设计广告公司网站建设百度浏览器主页网址
  • 晋城商城网站开发设计全媒体运营师培训
  • 广西桂林十大特产北京seo运营
  • 怎么做一帘幽梦网站爱营销电信版下载app最新版
  • 扬州市住房建设局网站seo知识培训
  • 家居品牌网站建设福州seo经理招聘