当前位置: 首页 > news >正文

公司网站简介seo网站推广方法

公司网站简介,seo网站推广方法,总全设计装饰有限公司官网,php英文商城网站建设最小调整顺序次数、特异性双端队列 题目描述 有一个特异性的双端队列,该队列可以从头部或尾部添加数据,但是只能从头部移出数据。 小A依次执行2n个指令往队列中添加数据和移出数据。其中n个指令是添加数据(可能从头部添加、也可能从尾部添加…

最小调整顺序次数、特异性双端队列

题目描述

有一个特异性的双端队列,该队列可以从头部或尾部添加数据,但是只能从头部移出数据。
小A依次执行2n个指令往队列中添加数据和移出数据。其中n个指令是添加数据(可能从头部添加、也可能从尾部添加),依次添加1到n;n个指令是移出数据。
现在要求移除数据的顺序为1到n。
为了满足最后输出的要求,小A可以在任何时候调整队列中数据的顺序。
请问 小A 最少需要调整几次才能够满足移除数据的顺序正好是1到n;

输入描述

第一行一个数据n,表示数据的范围。
接下来的2n行,其中有n行为添加数据,指令为:

  • "head add x" 表示从头部添加数据 x,
  • "tail add x" 表示从尾部添加数据x,
另外 n 行为移出数据指令,指令为:"remove" 的形式,表示移出1个数据;

1 ≤ n ≤ 3 * 10^5。
所有的数据均合法。

输出描述

一个整数,表示 小A 要调整的最小次数。

源码和解析
解析:

其实这个题只要理解了就其实还蛮简单的。小编当时做这个提题目时候前面一脸懵B,压根不知道在说个啥。就只知道要调整次数,但是不确定这个调整次数是啥。
head add 1
[1]
tail add 2
[1, 2]
remove
[2]
head add 3
[3, 2]
tail add 4
[3, 2, 4]
head add 5
[5, 3, 2, 4]
remove
排序了
[3, 4, 5]
remove
[4, 5]
remove
[5]
remove
[]
这个是用例中的例子 输出过程。 认真去体会每个指令执行后的结果
若输入变成
5
head add 2
tail add 1
remove
head add 3
tail add 4
head add 5
remove
remove
remove
remove
排序了1次
那么其输出过程为:
head add 2
[2]
tail add 1
[2, 1]
remove
排序了
[2]
head add 3
[3, 2]
tail add 4
[3, 2, 4]
head add 5
[5, 3, 2, 4]
remove
排序了
[3, 4, 5]
remove
[4, 5]
remove
[5]
remove
[]
排序了2次
====》可以推出 ,当集合中首位值不是集合中最小值是,需要进行调整。而一次调整包含了多次交换位置过程。可以简单的理解为1次排序过程。

示例代码:

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;public class T33 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String input = scanner.nextLine();int num = Integer.parseInt(input); // 数据范围 并非是数的个数List<Integer> numList = new ArrayList<Integer>();int count = 0;// 调整次数int removeNum = 1;// 下一次需要移走哪一个for (int i = 0; i < num * 2; i++) {input = scanner.nextLine();String strArr[] = input.split(" ");System.out.println(input);if (strArr[0].equals("remove")) {// remove 从头部移出数据if (numList.get(0) == removeNum) {numList.remove(0);removeNum++;} else {count++;// 调整次序 从小到大排序一下numList.sort(new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {if (o1 > o2)return 1;if (o1 < o2)return -1;return 0;}});System.out.println("排序了");numList.remove(0);removeNum++;}}// 头部添加if (strArr[0].equals("head")) {numList.add(0, Integer.parseInt(strArr[2]));// continue;} else if (strArr[0].equals("tail")) {// 尾部添加numList.add(Integer.parseInt(strArr[2]));}System.out.println(numList);}System.out.println(count);}
}
http://www.yidumall.com/news/2682.html

相关文章:

  • microsoft免费网站免费舆情网站
  • 兰州市建设局网站国贸大厦湖南靠谱seo优化公司
  • 制作网站推广码网站建设总结
  • 怎么做淘宝网站步骤广告优化师培训
  • 仿《爱美眉》网站 dede百度退款客服电话
  • 西安软件制作公司宁波优化网页基本流程
  • 微信网站开发与网站实质区别竞价推广账户竞价托管
  • 南京网站设计平台seo外包公司
  • 做品牌设计网站怎么做app推广和宣传
  • 做网站运营的女生多吗如何联系百度平台客服
  • 外文网站字体好口碑关键词优化地址
  • 织梦网站在css中怎样做导航栏沈阳百度seo排名优化软件
  • 长沙私人做网站福州seo按天付费
  • 网站行业关键词临沂seo优化
  • 18款未成年禁用软件ap入口盐城seo排名
  • 做海淘的网站要哪些证培训班管理系统 免费
  • 松江网站开发公司网页网站建设
  • 大连做网站优化阿里巴巴国际站官网
  • 青海网站制作多少钱西安高端模板建站
  • 网站背景图片优化重庆seo网络推广优化
  • 电子商务网站用户协议成都专业seo公司
  • 福田庆三明星案例上首页的seo关键词优化
  • 安溪网站建设怎么推广比较好
  • 兰州市住房城乡建设局网站西安网络推广
  • 网站建设价格费用百度电话客服
  • 人才网站的seo怎么做黄页88网
  • 贵州网站建设设计公司哪家好深圳互联网公司50强
  • 做JAVA基础编程题什么网站好南昌seo优化公司
  • 有哪些做场景秀的网站抖音seo优化软件
  • 网站版权备案软文世界