Java实现 LeetCode 581 最短无序连续子数组(从两遍搜索找两个指针)
2024-10-09 05:51:20
581. 最短无序连续子数组
给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。
你找到的子数组应是最短的,请输出它的长度。
示例 1:
输入: [2, 6, 4, 8, 10, 9, 15]
输出: 5
解释: 你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。
说明 :
输入的数组长度范围在 [1, 10,000]。
输入的数组可能包含重复元素 ,所以升序的意思是<=。
class Solution {
public int findUnsortedSubarray(int[] nums) {
if(nums.length == 0 || nums.length == 1 || nums == null) {
return 0;
}
int len = nums.length;
int temp=0;
int left = -1, right = -1;
int max = nums[0], min = nums[len - 1];
for(int i = 1; i < len; i++) {
if (max > nums[i]) {
right = i;
} else {
max = nums[i];
}
temp= len - i - 1;
if (min < nums[temp]) {
left = temp;
} else {
min = nums[temp];
}
}
return right > left ? right - left + 1 : 0;
}
}
最新文章
- 在js中为图片的src赋值时,src的值不能在开头用 破浪号~
- php - 上传图片之痛(建文件夹)
- c# List AddRange
- HTK搭建语音拨号系统实验材料下载
- c#的学习
- RadioButton 的background属性表现特征
- muduo网络库使用心得
- 12.04 如何更专业的使用Chrome开发者工具
- 安全系列之二:OAuth2.0 开放授权协议
- 详细介绍php中的命名空间
- Node.js博客搭建
- 面试题之C# 内存管理与垃圾回收
- 通过命令行操作MYSQL的方法 以及导入大的SQL备份文件
- js判断数据类型的四种方法
- 关于flex布局,我大多数常用的几个点
- kali linux下 hachcat安装
- 解决GitHub下载速度比较慢
- 【慕课网实战】Spark Streaming实时流处理项目实战笔记十二之铭文升级版
- maven一模块字段调用另一个模块数据生成下拉框
- vue.set的用法
热门文章
- FOC中电流环调试的宝贵经验总结(有理有据+全盘拖出)
- 构建自己的专用OpenCV----记录一次由applyColorMap()引发的探索
- 数据库连接池Druid的介绍,配置分析对比总结
- 【转载】皇 家 国 际 开 户图像的插值算法18O88O49999
- 学会阅读源码后,我觉得自己better了
- Spring Boot 使用 JSR303 实现参数验证
- 【Leetcode】1340. Jump Game V 【动态规划/记忆性搜索】
- 「雕爷学编程」Arduino动手做(33)——ESP-01S无线WIFI模块
- PG 慢日志分析工具pgbadger
- mysql小白系列_01 原理