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

服装行业网站开发学校网站建设营运预算

服装行业网站开发,学校网站建设营运预算,公司logo设计注意事项,邮箱登录入口官网目录1.左移右移1.题目描述2.输入格式3.输出格式4.样例输入5.样例输出6.数据范围6.原题链接2.解题思路3.Ac_code1.左移右移 1.题目描述 小蓝有一个长度为 NNN 的数组, 初始时从左到右依次是 1,2,3,…N1,2,3, \ldots N1,2,3,…N 。 之后小蓝对这个数组进行了 MMM 次操作, 每次…

目录

  • 1.左移右移
    • 1.题目描述
    • 2.输入格式
    • 3.输出格式
    • 4.样例输入
    • 5.样例输出
    • 6.数据范围
    • 6.原题链接
  • 2.解题思路
  • 3.Ac_code

1.左移右移

1.题目描述

小蓝有一个长度为 NNN 的数组, 初始时从左到右依次是 1,2,3,…N1,2,3, \ldots N1,2,3,N

之后小蓝对这个数组进行了 MMM 次操作, 每次操作可能是以下 2 种之一:

  1. 左移 xxx, 即把 xxx 移动到最左边。

  2. 右移 xxx, 即把 xxx 移动到最右边。

请你回答经过 MMM 次操作之后, 数组从左到右每个数是多少?

2.输入格式

第一行包含 2 个整数, NNNMMM 。以下 MMM 行每行一个操作, 其中 “LxLxLx "表示左移 xxx ,"RxRxRx "表示右移 xxx

3.输出格式

输出 NNN 个数, 代表操作后的数组。

4.样例输入

5 3
L 3
L 2
R 1

5.样例输出

2 3 4 5 1

6.数据范围

1≤N,M≤200000,1≤x≤N.1≤N,M≤200000,1≤x≤N.1N,M200000,1xN.

6.原题链接

左移右移

2.解题思路

  题目的含义非常简单,如果按照朴素的方式遍历寻找 xxx,然后直接进行插入操作,在nnn的级别在2e52e52e5的范围这时间复杂度显然是不可接受的。想要解决此题我们需要思考两个点:

  1. 如何高效地进行插入和删除操作
  2. 如何快速地找到某个点所在的位置

  对于第一点,我们应该快速地想到链表这个数据结构,由于题目需要在左端点和右端点都进行插入操作,所以我们应该联想到 双链表 。它可以在O(1)O(1)O(1)的时间范围内对元素进行插入和删除,这显然是我们需要的数据结构。
  当然,双链表并不支持高效地查找,所以我们如何快速找到 xxx 的位置呢?这时候我们应该联想到 哈希表,因为我们需要手动实现双链表,所以每个链表结点都对应一个值,同时它也是一个对象,我们可以使用哈希表,以值为keykeykey,以这个链表结点对象为valuevaluevalue。这样我们就可以快速获得这个结点,然后再进行常规的双链表插入删除操作。

3.Ac_code

import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.*;public class Main {static Map<Integer,Node> map=new HashMap<>();static PrintWriter out=new PrintWriter(new OutputStreamWriter(System.out));public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();int m=sc.nextInt();//双链表的头结点和尾结点Node head=new Node(-1,null,null);Node last=new Node(-1,null,null);Node pre=head;//构建双链表for (int i = 1; i <=n; i++) {pre.next=new Node(i,pre,null);pre=pre.next;map.put(i,pre);}last.pre=pre;pre.next=last;for (int i = 0; i < m; i++) {char c=sc.next().charAt(0);int x=sc.nextInt();//先将x对应的结点在双链表中删除Node node=map.get(x);node.pre.next=node.next;node.next.pre=node.pre;if (c=='L'){//将其插入到左端点node.next=head.next;head.next.pre=node;head.next=node;node.pre=head;}else{//将其插入到右端点node.pre=last.pre;last.pre.next=node;node.next=last;last.pre=node;}}pre=head.next;while (pre!=last){out.print(pre.v+" ");pre=pre.next;}out.flush();}static class Node{int v;Node pre;Node next;public Node(int v, Node pre, Node next) {this.v = v;this.pre = pre;this.next = next;}}
}
http://www.yayakq.cn/news/138324/

相关文章:

  • 如何做网站推广页面网站备案是哪个部门
  • 沛县做网站网站建设规划书电商
  • 网站建设和网络推广外包网站开发毕业设计中期检查表
  • 凡科网站建设平台wpautop wordpress
  • 没有网站可以做cpc吗汽车之家网站
  • 如何维护建设网站深圳全网营销公司有哪些
  • 网站建设报价单ppt哪个网站可下载免费ppt
  • 绥化安达网站建设做电源的网站
  • 青岛市城市建设局网站郑州整站网站推广工具
  • 南宁网站建设免费推广网站推广软文
  • 网站建设 乐清网络公司成都有哪些好玩的地方
  • 做网站app价格多少钱建筑工程网络副业
  • 网页设计素材网站花学做网站论坛好吗
  • 重庆sem网站推广深圳深圳龙岗网站建设
  • 如何查找昆明做网站服务的公司百度竞价推广开户
  • 帮企业做网站中国纪检监察报多久一期
  • 自己做网站商城需要营业执照吗公司简历模板
  • 网站开发做网站青岛seo服务哪家好
  • 深圳企业网站建设标准最新注册公司流程及费用
  • 天津网站建设品牌推广wordpress 局部刷新
  • 公司网站建设情况wordpress文章不登录看不到
  • 做设计不进设计公司网站手游门户网站建设
  • asp网站500错误iis7用数据库添加文章wordpress
  • 网站建设工作小组推进表网站导航功能
  • 中职教材 网站建设wordpress图片特效插件下载
  • 彩云小梦ai写作网站如何借用别人网站做模板
  • 万峰科技著.asp.net网站开发四酷全书电子工业出版社肇庆网站制作案例
  • 深圳网站开发技术wordpress 游客权限
  • 传奇游戏网站怎么做手机设置管理网站
  • 学会计哪个培训机构比较正规雄安做网站优化