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;
} }

最新文章

  1. 在js中为图片的src赋值时,src的值不能在开头用 破浪号~
  2. php - 上传图片之痛(建文件夹)
  3. c# List AddRange
  4. HTK搭建语音拨号系统实验材料下载
  5. c#的学习
  6. RadioButton 的background属性表现特征
  7. muduo网络库使用心得
  8. 12.04 如何更专业的使用Chrome开发者工具
  9. 安全系列之二:OAuth2.0 开放授权协议
  10. 详细介绍php中的命名空间
  11. Node.js博客搭建
  12. 面试题之C# 内存管理与垃圾回收
  13. 通过命令行操作MYSQL的方法 以及导入大的SQL备份文件
  14. js判断数据类型的四种方法
  15. 关于flex布局,我大多数常用的几个点
  16. kali linux下 hachcat安装
  17. 解决GitHub下载速度比较慢
  18. 【慕课网实战】Spark Streaming实时流处理项目实战笔记十二之铭文升级版
  19. maven一模块字段调用另一个模块数据生成下拉框
  20. vue.set的用法

热门文章

  1. FOC中电流环调试的宝贵经验总结(有理有据+全盘拖出)
  2. 构建自己的专用OpenCV----记录一次由applyColorMap()引发的探索
  3. 数据库连接池Druid的介绍,配置分析对比总结
  4. 【转载】皇 家 国 际 开 户图像的插值算法18O88O49999
  5. 学会阅读源码后,我觉得自己better了
  6. Spring Boot 使用 JSR303 实现参数验证
  7. 【Leetcode】1340. Jump Game V 【动态规划/记忆性搜索】
  8. 「雕爷学编程」Arduino动手做(33)——ESP-01S无线WIFI模块
  9. PG 慢日志分析工具pgbadger
  10. mysql小白系列_01 原理