769 最多能完成排序的块
作者:互联网
【题目】 【分析】 这个题的意思是进行一下分割:下标a~b之间的数是a~b。 比如: 0 1 2 3 4 5 6 7 8 9 [2 3 1 0 6 4 7 5 9 8]
可以分成以下三块: 0 1 2 3 4 5 6 7 8 9 2 3 1 0 6 4 7 5 9 8
怎么做呢? 首先看arr[0],arr[0]等于2,那很抱歉至少要看到arr[2]才行。a[1]等于3,抱歉需要看到a[3]才行。a[2]=1<3,继续。a[3]=0<3。已经看到3了,分一块。 arr[4]=6,至少要看到6。a[5]=4<6。a[6]=7>6,至少要看到7。a[7]=5<7。分第二块。 a[8]=9,至少要看到arr[9]才行。arr[9] = 8<9。
【代码】
【简化】 每走一步,先更新一下max,如果更新之后i还跟max一样,就分一块。
【结果】
|
标签:arr,769,才行,至少,最多能,看到,max,抱歉,排序 来源: https://blog.csdn.net/pengchengliu/article/details/90757822