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

东莞网站建设-拥有多年专业广州做网站的

东莞网站建设-拥有多年专业,广州做网站的,网站301重定向代码,如何仿网站模板蓝桥杯-左移右移1、问题描述2、解题思路与代码实现2.1 方法一#xff1a;使用LinkedList双向链表实现(50%)2.2 方法二#xff1a;使用HashMap左右临界值实现(100%)1、问题描述 小蓝有一个长度为 N 的数组, 初始时从左到右依次是 1,2,3,…N 。 之后小蓝对这个数组进行了 M 次操… 蓝桥杯-左移右移1、问题描述2、解题思路与代码实现2.1 方法一使用LinkedList双向链表实现(50%)2.2 方法二使用HashMap左右临界值实现(100%)1、问题描述 小蓝有一个长度为 N 的数组, 初始时从左到右依次是 1,2,3,…N 。 之后小蓝对这个数组进行了 M 次操作, 每次操作可能是以下 2 种之一: 左移 x, 即把 x 移动到最左边。右移 x, 即把 x 移动到最右边。 请你回答经过 M 次操作之后, 数组从左到右每个数是多少? 输入格式 第一行包含 2 个整数, N 和 M 。 以下 M 行每行一个操作, 其中 “L x 表示左移x,Rx 表示右移x 。 输出格式 输出 N 个数, 代表操作后的数组。 样例输入 5 3 L 3 L 2 R 1样例输出 2 3 4 5 1样例说明 样例中的数组变化如下: [1,2,3,4,5]→[3,1,2,4,5]→[2,3,1,4,5]→[2,3,4,5,1][1,2,3,4,5]→[3,1,2,4,5]→[2,3,1,4,5]→[2,3,4,5,1][1,2,3,4,5]→[3,1,2,4,5]→[2,3,1,4,5]→[2,3,4,5,1] 评测用例规模与约定 对于 50% 的评测用例, 1≤N,M≤10000. 对于 100% 的评测用例, 1≤N,M≤200000,1≤x≤N. 运行限制 最大运行时间3s最大运行内存: 512M 2、解题思路与代码实现 2.1 方法一使用LinkedList双向链表实现(50%) 我们使用双向链表结构来存储这N个元素若输入的是L x我们就找到这个x,将该节点移动到链表的头部可以直接将该节点删除然后使用addFirst(E e)方法直接插入到链表头部。 若输入的是R x,我们也找到这个x然后使用addLast(E e)将该节点移动到链表的尾部即可。 双向链表插入和删除元素比较快但是我们的时间主要花费在了查找x这个值上面这个方法只能通过50%的测试用例 import java.util.LinkedList; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan new Scanner(System.in);int n scan.nextInt();int m scan.nextInt();LinkedListInteger list new LinkedList();for (int i 0; i n; i) {list.addLast(i1);}for (int i 0; i m ; i) {String s scan.next();int num scan.nextInt();if(s.equals(L)){//左移//删除此列表中指定元素的第一个出现从头到尾遍历列表时//由于此集合中没有重复元素所以结果正确list.removeFirstOccurrence(num);list.addFirst(num);}else{//右移list.removeFirstOccurrence(num);list.addLast(num);}}list.forEach(x-{System.out.print(x );});scan.close();} }2.2 方法二使用HashMap左右临界值实现(100%) 我们使用HashMap存储这n个值初始化的时候key和value相等都存的是数值。 定义两个边界左边界l0有边界rn1 然后从第一个元素开始遍历当接收到L x开始左移的时候我们的key不动将value赋值为左边界l并将左边界自减l--。 当接收到R x开始右移动的时候我们同样将key不动将value赋值为右边界R同时将右边界的值自增r。 遍历结束之后我们只需要将map中的值按照value排序然后输出排序之后的key即可。 移动的过程如下图所示 import java.util.*; import java.util.stream.Collectors;public class ACCode {public static void main(String[] args) {Scanner scan new Scanner(System.in);int n scan.nextInt();int m scan.nextInt();int l0;//最左临界值int rn1;//最优临界HashMapInteger, Integer map new HashMap();//key和value的初始化for (int i 1; i n ; i) {map.put(i,i);}for (int i 0; i m ; i) {String s scan.next();int num scan.nextInt();if(s.equals(L)){//如果是左移将value赋值为左临界值再将左临界值自减map.put(num,l--);}else{//如果是右移则将value赋值为右临界值并将右边临界值1map.put(num,r);}}//查看此时的mapSystem.out.println(map);//将map根据value排序并输出map.entrySet().stream().sorted(Map.Entry.comparingByValue()).map(Map.Entry::getKey).collect(Collectors.toList()).forEach(x-System.out.print(x ));} } 输入测试用例顺便打印下移动结束之后的map 方法二思路来源https://blog.csdn.net/weixin_64061088/article/details/128696642
http://www.dnsts.com.cn/news/7998.html

相关文章:

  • 南通网站建设 南大街抖音引流推广怎么做
  • 东莞网站建设少儿托管wordpress图片管理
  • 怎么找一家公司的网站网页设计的首页版式
  • 网站制作算什么费用找推网
  • 国建设网站西安行业网站制作
  • 网站后台设置关键词在哪设杭州公司做网站
  • 一级a做爰片免费网站下载设计公司装修效果图
  • 做营销网站建设价格wordpress+主题+引入js
  • 买网站不给我备案广州网站站建设培训
  • 邯郸网站建设兼职工业企业网站建设费
  • 做打牌的网站怎么办ps如何做psd模板下载网站
  • 《网站建设与维护》讲义简约大气展厅效果图
  • 正能量软件不良网站直播wordpress 跳转特效
  • 欢迎访问陕西省交通建设集团公司网站家具网站asp
  • 兰甘肃网站建设clouder认证考试网站建设
  • 一个新的网站怎么做优化一家专业做导购的网站
  • php 电子商务网站建设做网站美工工资多少
  • 佛山专业网站设计公司wordpress做简单的商城
  • php网站模块修改绍兴网站专业制作
  • 北京网站手机站建设公司电话宁波建设集团几个分公司
  • 分析竞争对手网站建设摩托车官网中国
  • 360建设网站免费做黑彩票的网站赚钱吗
  • 福田网站建设公司乐云seo评价一个网站设计的好坏
  • 成都建立网站的公司专业做网站的顺德公司
  • 网站维护预算海口网格员
  • 云服务器上建网站网站建设 英语翻译
  • 网站可以做库存吗业务代刷平台网站怎么做
  • 商丘做网站汉狮网络linux wordpress安装
  • 汉川做网站wordpress pdf 打印
  • 自学网站查分数iis7配置asp.net网站