package codingInterviewGuide.part1;import java.util.ArrayDeque;import java.util.Deque;/*** Created by Dell on 2017年08月03日.*/public class SubArrNum {public int getArrNum(int[] arr,int num){Deque<Integer> qmax=new ArrayDeque<Integer>();Deque<Integer> qmin=new ArrayDeque<Integer>();int count=0;int min=0,max=0;for(int i=0;i<arr.length;i++){while(!qmax.isEmpty()&&arr[qmax.peekLast()]<arr[i]){//将qmax队尾比arr[i]小的元素下标弹出qmax.pollLast();}qmax.addLast(i);while(!qmin.isEmpty()&&arr[qmin.peekLast()]>arr[i]){//将qmax队尾比arr[i]小的元素下标弹出qmin.pollLast();}qmin.addLast(i);min=qmin.peekFirst();max=qmax.peekFirst();while(arr[max]-arr[min]>=num){if(max<min){qmax.pollFirst();max=qmax.peekFirst();}else{qmin.pollFirst();min=qmin.peekFirst();}}count+=qmax.size()*qmin.size();}return count;}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。