携程笔试技术岗携程java研发_第1页
携程笔试技术岗携程java研发_第2页
携程笔试技术岗携程java研发_第3页
携程笔试技术岗携程java研发_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、投的 java 研发岗有 20 道选择和 3 道编程选择题涉及知识点:瀑布模型开发流程()静态结构、非静态结构、构造方法调用顺序()一次趟能确定的一个元素位置的排序算法有哪些(简单选择排序、快排、堆排序)DNS 解析错误垃圾回收机制编程题1.求一个长整型数的二进制形式包含 1 的个数public class Main1 public static void main(String args) / TODO Auto-generated method stub Scanner sc = new Scanner(System.in);int number = sc.nextInt();intcou

2、nt=0;while(number!=0)number=number&(number-1); count+;System.out.println(count);2.求给定时间落在哪个区间内 输出该区间的序号 要求按序输出 import java.util.ArrayList;import java.util.Collections; import java.util.Scanner;/* 输出在时间区间范围内的序号 */刺猬实习public class Main2 public static void main(String args) / TODO Auto-generated method

3、 stub Scanner sc = new Scanner(System.in); int n = sc.nextInt();int curtime = sc.nextInt(); String line =;String nums=new Stringn; int starttimes = new intn; int endtimes = new intn;ArrayList res = new ArrayList(); for(int i=0;in;i+)numsi=sc.next(); starttimesi=sc.nextInt(); endtimesi=sc.nextInt();s

4、c.close(); for(inti=0;in;i+) if(curtime=s tarttimesi)res.add(numsi);if(res.size()=0) System.out. println(null);elseCollections.sort(res); for(String t : res)System.out.println(t);3.实现简易的 LRU 算法 get put 方法 当超出指定容量时 采用 LRU 最近最久未使用方法 这题没有给输入行数 因此不好控制何时结束,LRU 主要实现思想借助队列 先进先出原则 import java.util.ArrayList

5、;import java.util.HashMap; import java.util.LinkedList;import java.util.Map;刺猬实习import java.util.Queue;import java.util.Scanner;/* 实现简单的 LRU 算法 * 要求输入命令 p 表示 put g 表示 get 如果超出指定容量则采用 LRU 算法移除元素 * 这里采用队列存放最近使用的元素 队首时间最久 队尾最新 */public class Main3 static Map maps= new HashMap(); static Queue queue=new

6、LinkedList();public static void main(String args) / TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int cap = sc.nextInt();/缓存容量 int m=sc.nextInt();ArrayList cmds = new ArrayList();/存放所有行命令 while(m=0)/获取输入String line = sc.nextLine(); cmds.add(line);m-;/System.out.println(cmds.si

7、ze(); sc.close();/遍历每一行命令for(String s:cmds)String ss = s.split( ); String s1=ss0;/System.out.println(s);/ 如 果 为 put if(s1.equals(p)/System.out.println(mvp); int t1=Integer.parseInt(ss1); int t2=Integer.parseInt(ss2); put(t1, t2,cap);if(s1.equals(g)/如果为 get/System.out.println(mmp); int t3 = Integer.p

8、arseInt(ss1); get(t3,cap);/get 函数刺猬实习public static void get(int key,int num)if(maps.containsKey(key) queue.remove(key); queue.add(key);/System.out.println(ji); System.out.println(maps.get(key);elseSystem.out.println(-1);/put 函数 public static void put(int key,int val,int num) if(maps.containsKey(key)maps.put(key, val);/是否已包含元素 queue.remove(key);queue.add(key);elseif(maps.size()=num)/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论