行编译器-360笔试题

简介: <p><strong><span style="font-size:18px"><br></span></strong></p> <p><strong><span style="font-size:18px">1、如果收到一个‘#’,删掉一个已经收到的字符,不包括‘#’;</span></strong></p> <p><strong><span style="font-size:18p


1、如果收到一个‘#’,删掉一个已经收到的字符,不包括‘#’;

2、如果收到一个‘@’,把收到的一整行删掉(‘#’和‘@’都是不可见字符)


输入:

每行是一个整数T代表有T组数据。
每组数据的开始时一个字符串,字符串长度小于100,每个字符一定是(‘a’~'z','A'~'Z',',','*','!','(',')','+','@','#')的一个

输出:

每组数据输出一行经过行编辑器编辑过的字符串。


 样例输入

3
whli##ilr#e(s#*s)
outcha@putchar(*s=#++)
returnWA##A!!##C

 样例输出

while(*s)
putchar(*s++)
returnAC


算法思想:

队列存字符,遇到‘#’或‘@’则进行相应的操作

注意:

判断读取‘#’且队列为空的特殊情况,否则会编译失败。


源代码:

import java.util.Scanner;
import java.util.Vector;

public class LineCompile {
	public static void main(String args[]) {
		Scanner reader = new Scanner(System.in);
		int n = reader.nextInt();
		String[] str = new String[n];
		for (int i = 0; i < n; i++) {
			Scanner reader1 = new Scanner(System.in);
			str[i] = reader1.nextLine();
		}

		for (String string : str) {
			// System.out.println(string);
			Vector st = new Vector();
			for (int i = 0; i < string.length(); i++) {
				char ch = string.charAt(i);
				if (ch == '#') {
					while (!st.isEmpty()) {
						st.removeElement(st.lastElement());
					}
				} else if (ch == '@') {
					st.clear();
				} else {
					st.add(ch);
				}
			}
			String temp = "";
			while (!st.isEmpty()) {
				temp += st.firstElement();
				st.removeElement(st.firstElement());
			}
			System.out.println(temp);
		}
	}
}

如果发现了什么bug或者有更好的方法,欢迎交流。



目录
相关文章
|
编解码 监控 算法
高动态范围成像:超越人眼的视觉体验
【10月更文挑战第15天】高动态范围成像(HDR)通过捕捉更广泛的亮度范围,超越传统图像和人眼的极限,提供卓越的视觉体验。本文深入解析HDR的基本原理、技术特点及其在摄影、电影、游戏、医学影像和工业检测等领域的广泛应用,展现其引领视觉技术革命的独特魅力。
1055 2
|
数据可视化 机器人 编译器
科力雷达Lidar使用指南
本文是科力2D激光雷达Lidar的使用指南,包括了雷达的安装、编译、IP配置、上位机软件使用、ROS节点运行、参数配置、官方文档和软件资源链接,以及雷达通讯建立失败等问题的解决方案。适用于Ubuntu20.04(x86) PC和Ubuntu20.04(Arm) Nvidia Orin环境。
608 1
科力雷达Lidar使用指南
|
人工智能 安全 Linux
龙蜥社区首推 AI 原生操作系统路线,三大重磅计划协同生态布局未来
第二届龙蜥大会圆满落幕,龙蜥操作系统装机量突破800万。
|
Ubuntu 前端开发 Linux
Ubuntu防火墙命令大集合
【7月更文挑战第13天】
758 1
Ubuntu防火墙命令大集合
|
机器学习/深度学习 算法 数据挖掘
【白话机器学习】算法理论+实战之决策树
【白话机器学习】算法理论+实战之决策树
330 0
|
机器学习/深度学习 数据采集 TensorFlow
使用TensorFlow进行模型训练:一次实战探索
【8月更文挑战第22天】本文通过实战案例详解使用TensorFlow进行模型训练的过程。首先确保已安装TensorFlow,接着预处理数据,包括加载、增强及归一化。然后利用`tf.keras`构建卷积神经网络模型,并配置训练参数。最后通过回调机制训练模型,并对模型性能进行评估。此流程为机器学习项目提供了一个实用指南。
|
网络协议 网络架构
《黑神话:悟空》的网络架构与多人游戏实现
【8月更文第26天】《黑神话:悟空》作为一款备受期待的动作冒险游戏,其网络架构对于支持多人在线游戏体验至关重要。本文将详细介绍游戏在网络架构方面的设计思路,以及如何实现稳定且高效的多人游戏体验。
473 0
|
关系型数据库 MySQL OLTP
性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
【8月更文挑战第6天】使用 pt-query-digest 工具分析 MySQL 慢日志性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
839 0
性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
|
安全 Android开发 数据安全/隐私保护
探索Android 12的新特性:用户体验与隐私保护的革新
【7月更文挑战第7天】随着技术的不断进步,用户对手机操作系统的期望也日益增长。本文将深入分析Android 12带来的创新特性,特别是其如何通过重新设计的用户界面和增强的隐私功能提升整体体验,并探讨这些变化如何影响开发者和用户的互动模式。
|
机器学习/深度学习 人工智能 自然语言处理
未来AI技术的发展趋势与应用前景探析
随着人工智能(AI)技术的迅猛发展,未来其应用前景愈发广阔。本文将探讨AI技术在各个领域的最新进展,分析其未来发展趋势,以及对社会、经济的深远影响。 【7月更文挑战第10天】
638 2