LeetCode题解:456. 132 模式,n平方暴力,JavaScript,详细注释
2021/7/28 14:06:18
本文主要是介绍LeetCode题解:456. 132 模式,n平方暴力,JavaScript,详细注释,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
原题链接:456. 132 模式
解题思路:
- 该题的条件是:
i < j < k
和nums[i] < nums[k] < nums[j]
。 - 可以理解为,在已知
nums[i]
和nums[j]
的情况下,查找是否存在nums[k]
,满足条件nums[i] < nums[k] < nums[j]
。 nums[i]
可以用变量numsi
缓存,始终存储从nums[0]
到nums[j-1]
之间的最小值。- 因此只需要用第一层循环,不断查找
nums[j]
,同时缓存numsi
。 - 用第二层循环,在
j+1
到nums.length - 1
的范围内查找是否有满足条件的nums[k]
。
/** * @param {number[]} nums * @return {boolean} */ var find132pattern = function (nums) { let numsi = nums[0]; // 存储题目中的nums[i],初始值是nums[0] // 不断查找nums[j],初始值是nums[1] for (let j = 1; j < nums.length; j++) { // 在已知nums[i]、nums[j]的基础上,查找是否存在满足条件的nums[k] // k的索引必然在j到nums.length-1之间 for (let k = j + 1; k < nums.length; k++) { // 满足nums[i] < nums[k] < nums[j]条件,表示找到132模式子序列 if (numsi < nums[k] && nums[k] < nums[j]) { return true; } } // nums[i]始终是nums[0]~nums[j-1]中的最小值 numsi = Math.min(numsi, nums[j]); } // 退出循环,则表示没有找到132模式子序列 return false; };
这篇关于LeetCode题解:456. 132 模式,n平方暴力,JavaScript,详细注释的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南