数据结构 最大值减去最小值小于或等于num的子数组数量
来源:互联网 发布:nba直播数据统计 编辑:程序博客网 时间:2024/05/18 02:55
程序员代码面试指南(左程云)读书笔记(9)
第一章
最大值减去最小值小于或等于num的子数组数量题目:
如果数组长度问N,请实现时间复杂度为O(N)的解法
package cn.chen.mystack;
import java.util.LinkedList;
public class Stack_10 {
public static void main(String[] args) {
Stack_10 s=new Stack_10();
int[] a={2,5,4,7,36,7,4,2,9};
s.getNum(a, 5);
}
public int getNum(int[] arr,int num){
if(arr==null|| arr.length==0){
return 0;
}
LinkedList<Integer> qmin=new LinkedList<Integer>();//存放最小数的双端队列
LinkedList<Integer> qmax=new LinkedList<Integer>();//存放最大数的双端队列
int i=0;
int j=0;
int res=0;//满足条件的子数组数量
while(i<arr.length){
while(j<arr.length){
//存放最小数的双端队列 ,如果队列中最小数大于arr[j](新加入的数),弹出当前队列中的最小数,将arr[j]放入
while(!qmin.isEmpty()&&arr[qmin.peekLast()]>=arr[j]){
qmin.pollLast();
}
qmin.addLast(j);
//存放最大数的双端队列 ,如果队列中最大数小于arr[j](新加入的数),弹出当前队列中的最大数,将arr[j]放入
while(!qmax.isEmpty()&&arr[qmax.peekLast()]<=arr[j]){
qmax.pollLast();
}
qmax.addLast(j);
if(arr[qmax.getFirst()]-arr[qmin.getFirst()]>num){
break;
}
j++;
}
if(qmin.peekFirst()==i){
qmin.pollFirst();
}
if(qmax.peekFirst()==i){
qmax.pollFirst();
}
res+=j-i;
i++;
}
System.out.println(res);
return res;
}
}
0 0
- 数据结构 最大值减去最小值小于或等于num的子数组数量
- 最大值减去最小值小于等于num的子数组数量
- 算法题-最大值减去最小值小于或等于 num 的子数组数量
- 算法题-最大值减去最小值小于或等于 num 的子数组数量
- 最大值减去最小值小于或等于num的子数组数量
- 最大值减去最小值小于或等于num的子数组数量
- 栈和队列---最大值减去最小值小于或等于num的子数组数量
- 最大值减去最小值小于或等于num的子数组数量
- 栈和队列——最大值减去最小值小于或等于num的子数组数量
- 1.10 最大值减去最小值小于或等于num的子数组数量
- 最大值减去最小值小于或者等于num的子数组数量
- 子数组系列二:最大值减去最小值小于或等于 k 的子数组数量
- 左神的书——《程序员代码面试指南》之最大值减去最小值小于或等于num的子数组的数量 c++实现
- 栈和队列(8)-- 最大值减去最小值小于或者等于num的子数组
- 滑动窗口变形题-最大值减去最小值小于等于num的子数组
- 【算法】最大值和最小值的差小于或者等于num的子数组数量
- 未排序数组中累加和小于或等于给定值的最长子数组长度
- 数组与矩阵---未排序数组中累加和小于或等于给定值的最长子数组问题
- 自定义View之利用组合View实现复用
- mysql处理字符串的两个绝招:substring_index,concat
- A - Divisibility
- Lucene搜索引擎入门写法
- HDU 1850 Being a Good Boy in Spring Festival【标准Nim博弈,先手赢的方案数】
- 数据结构 最大值减去最小值小于或等于num的子数组数量
- Android Volley完全解析
- 前端开发资源汇总
- mac版抓包工具charles使用技巧
- angular的location服务的使用
- B - Tricky Sum
- 【POJ 3259】Wormholes(最短路SPFA/Bellman_Ford)
- Tricky Sum
- C - Patrick and Shopping