classSolution{public int findUnsortedSubarray(int[] nums){
int l =-1;
int r =-1;
int min = Integer.MAX_VALUE, max = Integer.MIN_VALUE;// O(n) : 找到最右边的最小的,找到最左边的最大的不合理的,二者之间就是需要重新排序的。/*
什么叫最右边最小的呢? 正常来说从左到右应该是依次变大的,但是如果遇到当前值比左边的最大值小的,说明这个值是有问题的。
一直往右找,找到有问题的区间的右边界。
左边最大的不合理的:正常左边是比右边小的。如果遇到左边比右边大,那就是不合理的。
*/for(int i=0;i<nums.length; i++){if(nums[i]>= max)//说明正常,右边的比当前左边的最大值还大。max表示当前左边的最大值
max = nums[i];else
r = i;// 否则不正常则记录左边不正常的边界。}for(int i=nums.length-1; i>=0; i--){if(nums[i]<= min)
min = nums[i];else l = i;}return l ==-1?0:r-l+1;}}
全新的对象存储服务 Amazon S3 Express One Zone 旨在提供比 Amazon S3 Standard 高出10倍的性能,同时每秒可处理数十万个请求,并且延迟始终保持在个位数毫秒级,因此非常适合存储最常访问的数据和要求最苛刻的应用程序。将对象存储和复制到单…
一、基本概念
1.象集 给定一个关系R(X,Z),X和Z为属性组,当t[X]x时,x在R中的象集定义为: Z x { t [ Z ] ∣ t ∈ R , t [ X ] x } Z_x\{t[Z]|t\in R,t[X]x\} Zx{t[Z]∣t∈R,t[X]x} 表示R中属性组X上值为x的诸元组在Z上分量的…