携程2019校招编程题(3)
2018-09-05 07:48:12来源:博客园 阅读 ()
携程今年的机试题为20道选择+3编程
由于今天最后提交时第三题编程未通过,交卷之后想出来的解法这里记录一下。
import java.util.ArrayList; import java.util.List; import java.util.Scanner; //携程3 public class LRU { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int size=Integer.valueOf(sc.nextLine()) ; List<Integer> list1 = new ArrayList<>();//存key List<Integer> list2 = new ArrayList<>();//存value while(sc.hasNext()){ String line =sc.nextLine(); String[] subLine=line.split(" "); if(subLine[0].equals("p")){ if(list1.contains(Integer.valueOf(subLine[1]))){//如果已经存在,只是将value改变 int k=list1.indexOf(Integer.valueOf(subLine[1])); list2.set(k,Integer.valueOf(subLine[2])); }else{//否则放入队列尾 if(list1.size()>=size){ list1.remove(0); list2.remove(0); } list1.add(Integer.valueOf(subLine[1])); list2.add(Integer.valueOf(subLine[2])); } }else{//如果获取值 if(list1.contains(Integer.valueOf(subLine[1]))){ int n =list1.indexOf(Integer.valueOf(subLine[1])); System.out.println(list2.get(n)); int key=list1.get(n); int value = list2.get(n); list2.remove(n); list1.remove(n); list1.add(key); list2.add(value); }else{ System.out.println(-1); } } } sc.close(); } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 在校大学生如果连「校招」都不知道,那大学就白读了 2020-06-01
- 拼多多+携程+蚂蚁金服技术面集合,刷完这份面试题,助你拿of 2020-05-29
- idea2019.2 win10 tomcat8.5 乱码 2020-05-22
- 携程的 Dubbo 之路,值得学习! 2020-04-28
- 2019阿里技术专家面试题大汇总(内含答案) 2020-04-02
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash