窗口滑动:
几行代表for里的语句 1行看队列,例子.空的不执行 2行q[0]=1 3行看队列.1>-1不执行 4行看例子例子.窗口不完整 h=t=1,只看最后一行的总队列q就行 | 1行.2<6不执行,只存越来越大 2行q[1]=2,所以q存的下标 3行.i在增加,1>0不执行,新循环了,对头元素滑出窗口 4行窗口不完整 h=1,t=2 | 1行.变小了,踢走 2行q[2]=3 3行.2在里面不执行, 4行输出2 h=1,t=2 |
1行.不执行 2行q[3]=4 3行.2不在里面了执行 4行输出5 h=2,t=3 | 1行.不执行 2行q[4]=5 3行.5在里面不执行 4行输出5 h=2,t=4 | 1行.新进来的要在队列里是最大值 2行q[3]=6 3行.5不在里面执行 4行输出6 h=t=3 |
思考如果最后一个换成3
1行.执行,看第五个表格,h=2,t=4.a[q[t]]<a[i](8<3),再一遍7<3,再一遍5<3,t=1了
2行q[2]=3
3行.3在里面不执行
4行输出3
h=t=2
标注:下面这行2378是a[q[]].用于比较
1.对尾与新加进来比较]加进来的小肯定要]队列索引缩短]给他进来
2.队列索引伸为i]用来a[q[]]比较,如果越来越大索引就加进来
3.队头索引滑出窗口
4.输出队头最小