腾讯暑期实习在线笔试题--魔法序列
时间:2022-06-20
本文章向大家介绍腾讯暑期实习在线笔试题--魔法序列,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
0 前言
前段时间投实习,腾讯的暑期实习进了在线笔试。结果只做出了一道题(1/5),非常丢人。
没办法,只好把没做出的题目好好研究一下了。
1 题目--魔法序列
小 Q 拥有一个只存储了整数的序列叫魔法序列。一开始序列为空,小 Q 会执行以下两种操作:
add(x): 表示往序列中添加一个值为x的整数
get(y): 表示在第 y 次 add 操作后,取出序列中第 k 小的数,并将其输出,其中 k 初始时候为 1,每执行一次 get 操作之后,k 的值会 +1.
输入描述:
第一行两个整数 n 和 m(0<=n,m<=30000,分别表示 add 和 get 的操作次数 第二行 n 个空格间隔的整数,表示每次 add 操作往数列中添加的数字 第三行m个空格间隔的整数 Yi(1<=Yi<=n) 其中第 i 个数表示在执行了 Yi 次 add 操作后,执行一次 get 操作.
输出描述:
m 行,每行一个整数,表示对应 get 操作输出的值
输入:
7 4 3 1 -4 2 8 -1000 2 1 2 6 6
输出:
3 3 1 2
2 Java 代码
先是导入需要的库,然后获取需要的值。
根据第三行的数来创建数组,创建好之后一一赋值到新数组,然后排序,输出对应的值,然后 k 自增。
import java.util.Scanner;
import static java.util.Arrays.sort; //用来排序
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); //获取整数 n
int m = sc.nextInt(); //获取整数 m
int[] add = new int[n]; //定义第二行的数组
int[] b = new int[m]; //定义第三行的数组
int k = 1;
for (int i = 0; i < n; i++) {
add[i] = sc.nextInt(); //获取第二行的数
}
for (int j = 0; j < m; j++) {
b[j] = sc.nextInt(); //获取第三行的数
}
for(int j = 0; j < b.length; j++) {
int[] newArray = new int[b[j]]; //根据 b[j] 的值来确定新数组的长度
for (int x=0;x<newArray.length;x++){
newArray[x] = add[x]; //根据新数组的长度把第二行的数一一赋给 newArray
}
sort(newArray); //从小到大排序
System.out.println(newArray[(k-1)]); //输出对应的值
k+=1; //get 操作完成,k+1
}
}
}
我是考完之后让大佬检查我的代码,所以代码不一定能够完全通过所有的测试样例,但是我觉得都可以通过?
3 说明
题图:Photo by Ion Şipilov on Unsplash
- Spring Cloud Feign 启动UnsatisfiedDependencyException
- Spring Cloud Zuul结合Smconf配置中心动态进行IP黑名单限制
- 高性能NIO框架Netty入门篇
- Spring Boot Web 静态文件缓存处理
- hbuilder 开发APP填坑经验
- hbuilder APP 定位提示苹果审核不通过
- hbuilder 开发5+ APP采坑记录
- Spring Cloud如何提供API给客户端
- 5分钟学会Spring Boot自定义属性和自动配置
- 创建一个Spring Security OAuth认证服务
- Zipkin和微服务链路跟踪
- Java8真不用再搞循环了?
- 针对事件驱动架构的Spring Cloud Stream
- Spring的三种Circuit Breaker
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- error: PyThreadState {aka struct _ts} has no member named exc_type
- Python创建目录文件夹
- python 按顺序读文件夹下面的文件
- python剪切文件
- 一个hashCode问题的追问,差点让我陷入无底洞
- 【JAVA基础&高级】 面向对象篇
- MySQL-InnoDb行格式与数据页结构 Krains 2020-08-08
- 《自然语言处理实战入门》 ---- 第4课 :中文分词原理及相关组件简介 之 汉语分词领域主要分词算法、组件、服务(上)...
- MySQL索引 Krains 2020-08-09
- 「查缺补漏」巩固你的Redis知识体系
- MySQL事务 Krains 2020-08-09
- Linux本地提权漏洞复现与检测思路
- 内容安全策略( CSP )
- [译] 优化 React APP 的 10 种方法
- 如何免登陆观看b站大会员番剧