### 题目如下
现有一个队列,共有N个数据(1-Nb不重复),排序随机,如: 5 3 1 4 2 。
需要做以下操作,
1、可以把队尾的数据移到头部(或者头部移到尾部),如把2移到头部,队列变成如下: 2 5 3 1 4。需要消耗能量为2。
2、一直移动队尾的数据到头部,如果该数据为剩余数据最小值,可以移除该数据,消耗能量为0.
3、一直重复上述步骤,直到数据全部移除为止。
### 问题
怎么计算一个随机队列全部移除需要消耗的能量值。
### 示例
队列5 3 1 4 2移除需要的能量一共为18:
1、把2移到头部,队列:2 5 3 1 4,消耗能量2。
2、把4移到头部,队列:4 2 5 3 1,消耗能量4。
3、把1移到头部,队列:1 4 2 5 3,消耗能量1。
4、移除1,消耗能量为0。队列:4 2 5 3.
5、把4移到尾部,队列:2 5 3 4 ,消耗能量4。
6、把2移除,消耗能量0。队列:5 3 4,
7、把4移到头部,队列:4 5 3 ,消耗能量4。
8、把3移到头部,队列:3 4 5,消耗能量3。
9、把3移除,消耗能量0。队列:4 5,
10、把4移除,消耗能量0。队列:5,
11、把5移除,消耗能量0。全部移除完毕。
没有搞明白 为什么示例里面是第 4 步 是要把4移动到队尾?之前和之后都是把最后一个移动到队头呀?为了移除2吗?哪移动2不是消耗2吗?同意6楼的计算方式。
#7
更多评论