新浪微博2020Java校招笔试题

Posted vector11248

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新浪微博2020Java校招笔试题相关的知识,希望对你有一定的参考价值。

技术图片

 

 

技术图片

 

 技术图片

 

 第二题是实现一个lru cache , 我想到了linkedHashMap , 但是没有找到合适的api

自己撸了一个,通过了66%

 1 package interview;
 2 
 3 import java.util.HashMap;
 4 import java.util.LinkedHashMap;
 5 import java.util.LinkedList;
 6 
 7 /**
 8  * @program: Leetcode
 9  * @description:
10  * @create: 2019-08-31 16:32
11  **/
12 public class Sina2 
13 
14     int cap;
15     HashMap<Integer,Integer> values = new HashMap<>();
16     HashMap<Integer,Boolean> exist = new HashMap<>();
17     LinkedList<Integer> queue = new LinkedList<>();
18 
19     public Sina2(int capacity) 
20         this.cap = capacity;
21     
22 
23     public int get(int key) 
24         if (exist.get(key))
25             int temp = values.get(key);
26             queue.remove((Integer) key);
27             queue.addFirst((Integer) key);
28             System.out.println(temp);
29             return temp;
30         else 
31             System.out.println(-1);
32             return -1;
33         
34     
35 
36 
37     public void put(int key, int value) 
38         if (queue.size()  == cap)
39             int kk = queue.get(cap-1);
40             //exist.remove(kk);
41             exist.put(kk,false);
42             values.put(key,value);
43             exist.put(key,true);
44             queue.removeLast();
45             queue.addFirst(key);
46         else 
47             queue.addFirst(key);
48             values.put(key,value);
49             exist.put(key,true);
50         
51 
52     
53 
54     public static void main(String[] args) 
55         Sina2  sina2 = new Sina2(2);
56         sina2.put(1,1);
57         sina2.put(2,2);
58         sina2.get(1);
59         sina2.put(3,3);
60         sina2.get(2);
61         sina2.put(4,4);
62         sina2.get(1);
63         sina2.get(3);
64         sina2.get(4);
65 
66     
67 

 

以上是关于新浪微博2020Java校招笔试题的主要内容,如果未能解决你的问题,请参考以下文章

微软2017校招笔试题2 composition

微软2017校招笔试题3 registration day

校招笔试题编程技巧总结

校招笔试题

小米2017校招笔试题

2016京东Android研发校招笔试题