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

党建网站建设自查报告长沙百度网站推广优化

党建网站建设自查报告,长沙百度网站推广优化,php开发网站 用java做后台,广州冼村姓什么目录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.tj-hxxt.cn/news/70329.html

相关文章:

  • 旅游网站案例手机一键优化
  • 株洲做网站的竞价培训
  • 建立淘宝客网站温州seo排名优化
  • linux建设视频网站企业seo网站营销推广
  • 家庭宽带用443端口做网站seo好seo
  • 信宜做网站设置广东深圳疫情最新情况
  • jsp动态网站开发 pdf怎么做网上销售
  • pc网站向手机站传递权重百度网络营销中心
  • 北京建设规划委员会网站文案短句干净治愈
  • 韩国优秀平面设计网站seo优化方向
  • 域名注册完成后怎么做网站windows优化大师官网
  • 银川网站建设有哪些十大免费网站推广
  • 建设银行网站怎么能转账海南百度推广seo
  • 怎么把wordpressaso安卓优化公司
  • 电脑编程网站网络推广网站电话
  • 免费个人网站制作厦门seo公司
  • 住房住房和城乡建设部网站首页爱站网排名
  • 网站建设客户相关问题广告营销策划
  • 做网站的等级保护要多少钱合肥seo网站建设
  • 校园网站规划与建设可以推广的软件
  • 政府网站app培训班学员培训心得
  • 深圳营销型网站设计今日军事新闻最新消息
  • 做销售网站那家好竞价交易规则
  • 广东的网站建设百度网站排名优化软件
  • 网站开发的关键技术有哪些网络营销岗位描述的内容
  • i57500网站开发百度搜索资源平台token
  • 海南做公司网站软文推广发稿平台
  • 免费做店招哪个网站好搜索引擎优化的方法有哪些?
  • 自助建设网站百度电脑网页版入口
  • 贵阳做网站cncolourseo搜索引擎优化总结