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

省建设厅网站6江苏建设管理信息网站

省建设厅网站6,江苏建设管理信息网站,民政局网站建设方案,创建网站的视频最小调整顺序次数、特异性双端队列 题目描述 有一个特异性的双端队列#xff0c;该队列可以从头部或尾部添加数据#xff0c;但是只能从头部移出数据。 小A依次执行2n个指令往队列中添加数据和移出数据。其中n个指令是添加数据#xff08;可能从头部添加、也可能从尾部添加…最小调整顺序次数、特异性双端队列 题目描述 有一个特异性的双端队列该队列可以从头部或尾部添加数据但是只能从头部移出数据。 小A依次执行2n个指令往队列中添加数据和移出数据。其中n个指令是添加数据可能从头部添加、也可能从尾部添加依次添加1到nn个指令是移出数据。 现在要求移除数据的顺序为1到n。 为了满足最后输出的要求小A可以在任何时候调整队列中数据的顺序。 请问 小A 最少需要调整几次才能够满足移除数据的顺序正好是1到n 输入描述 第一行一个数据n表示数据的范围。 接下来的2n行其中有n行为添加数据指令为 head add x 表示从头部添加数据 xtail 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); // 数据范围 并非是数的个数ListInteger numList new ArrayListInteger();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 ComparatorInteger() {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.hkea.cn/news/14367576/

相关文章:

  • 做个爬架网站如何做知名的教育行业网站开发
  • 用rp怎样做网站网站开发有什么技术要求
  • 教育网站 模板上海网站制作服务
  • 网站 数据库 sql 导入数据库长春企业网站排名优化
  • 做办公设备网站广东富盈建设有限公司企业网站
  • 网站建设服务目标低价自适应网站建设
  • 安徽省住房和城乡建设厅网站Wordpress主题 魔兽
  • 电子商务网站建设与维护试卷答案9377传奇世界
  • 申请个人网站域名小米公司网络营销工具
  • 最牛论坛网站全球速卖通怎么开店
  • 郑州网站建设国奥大厦网站付费模板
  • 网站域名响应时间做搬家服务网站问卷调查结果
  • 搭建网站用什么框架2345网址大全设主页
  • 网站建设与服务技能实训柳州网站优化公司
  • 网站被k文章修改开票 网站建设
  • 广阳区建设局网站山东监理工程师考试最新消息
  • 南阳网站建设icp备wordpress升级vip
  • wordpress网站数据库存在哪里手机app下载网站
  • 网站管理员工作总结丽水城乡建设局网站
  • 建筑网站大全免费wordpress名片模板
  • 网站建设公司哪个好一点网站建设5个why
  • 怎样做p2p网站北京网站开发网站建设咨询
  • 小型网站维护帝国网站整站迁移
  • 成都市建设局官方网站建一个平台网站一般需要多少钱
  • 网站内容与模板设计做核酸收费
  • php做电商网站安全性如何网站方案建设书
  • 网站开发费用一般为多少js不能打开插件wordpress
  • 小说网站搭建教程秦皇岛手机网站制作多少钱
  • 攀枝花建设工程有限责任公司网站赣州建网站
  • 北京网站设计与开发非法网站开发者刑事责任