2022蓝桥杯大赛软件类国赛Java大学B组 左移右移 空间换时间+双指针

简介: 2022蓝桥杯大赛软件类国赛Java大学B组 左移右移 空间换时间+双指针


 
 
import java.util.Scanner;
 
public class Main {
   static Scanner sc=new Scanner(System.in);
   public static void main(String[] args) {
      
    int n=sc.nextInt();//数组长度
    int t=sc.nextInt();//操作次数
    int arr[]=new int[n];
    char arr1[] = new char[t];
    int  arr2[] = new int[t];
    int visited[]=new int[n+1];
    
    for(int i = 0 ;i<t ; i++) {
      arr1[i]=sc.next().charAt(0);
      arr2[i]=sc.nextInt();
    }
    
    //双指针
    int i=0;
    int j=n-1;
    
    for(int temp=t-1;temp>=0;temp--) {
      if(visited[arr2[temp]]==-1)continue;
      if(arr1[temp]=='R') {
        arr[j]=arr2[temp];
        j--;
        visited[arr2[temp]]=-1;
      }
      if(arr1[temp]=='L') {
        arr[i]=arr2[temp];
        i++;
        visited[arr2[temp]]=-1;
      }
    }
    int p=1;
    for(int b=0;b<n;b++) {
      if(arr[b]==0) {
        while(visited[p]==-1) {
          p++;
        }
        visited[p]=-1;
        System.out.print(p+" ");
      }
      else System.out.print(arr[b]+" ");
    }
   } 
}
目录
相关文章
|
算法 Java C++
【潜意识Java】蓝桥杯算法有关的动态规划求解背包问题
本文介绍了经典的0/1背包问题及其动态规划解法。
589 5
|
算法 搜索推荐 Java
【潜意识Java】深度解析黑马项目《苍穹外卖》与蓝桥杯算法的结合问题
本文探讨了如何将算法学习与实际项目相结合,以提升编程竞赛中的解题能力。通过《苍穹外卖》项目,介绍了订单配送路径规划(基于动态规划解决旅行商问题)和商品推荐系统(基于贪心算法)。这些实例不仅展示了算法在实际业务中的应用,还帮助读者更好地准备蓝桥杯等编程竞赛。结合具体代码实现和解析,文章详细说明了如何运用算法优化项目功能,提高解决问题的能力。
800 6
|
缓存 Java 数据库连接
Java演进问题之指针的间接获取现在对性能的影响变得更大如何解决
Java演进问题之指针的间接获取现在对性能的影响变得更大如何解决
177 0
java.lang.NullPointerExceptionMybatisPlus出现,测试,java.lang.NullPointe,空指针异常,public方法少写了一个字段,没加注解
java.lang.NullPointerExceptionMybatisPlus出现,测试,java.lang.NullPointe,空指针异常,public方法少写了一个字段,没加注解
Java中的左移运算符及其在实现加法效果上的应用
Java中的左移运算符及其在实现加法效果上的应用
255 0
|
Java
2023届蓝桥杯大赛软件类国赛Java大学B组 互质 数论
2023届蓝桥杯大赛软件类国赛Java大学B组 互质 数论
281 1
|
存储 前端开发 算法
2016届蓝桥杯大赛软件类国赛Java大学B组 反幻方 暴力搜索
2016届蓝桥杯大赛软件类国赛Java大学B组 反幻方 暴力搜索
256 0
|
Java
2016届蓝桥杯大赛软件类国赛Java大学B组 愤怒小鸟 数学模拟
2016届蓝桥杯大赛软件类国赛Java大学B组 愤怒小鸟 数学模拟
244 4
|
Java
2021蓝桥杯大赛软件类国赛Java大学B组 完全日期 复杂遍历搜索
2021蓝桥杯大赛软件类国赛Java大学B组 完全日期 复杂遍历搜索
224 2
|
10月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
439 1