2. A系统每天有很多人登录,有一个登录(login)记录表,简况如下:
id user_id date
1 2 2020-10-12
2 3 2020-10-12
3 2 2020-10-13
4 1 2020-10-13
第1行表示user_id为2的用户在 2020-10-12 登录了A系统;
第4行表示user_id为1的用户在 2020-10-13 登录了A系统。
还有一个用户(user)表,简况如下:
id user_id user_name
1 1 Li Lei
2 2 Han Meimei
3 3 Jim Green
第1行表示user_id为1的用户其user_name为”Li Lei“。
请你写出一个sql语句查询登录次数超过1次的用户,以及该用户的最近登录日期,并且查询结果按照user_name升序排序。
huskyui 18:11
select l.user_id,min(l.date) as min_date from user u join login l on u.user_id = l.user_id group by l.user_id having count(*) >1 order by u.user_name asc
清欢 18:14
8. 【多选】假设某个表有一个联合索引(c1,c2,c3,c4)以下哪些选项使用了该索引______________
A. where c2=x and c4>x and c3=x
B. where c1=x and c2=x and c4=x order by c3
C. where c1=x and c4= x group by c3,c2
D. where c1=? and c5=? order by c2,c3
huskyui 18:15
B,c,d
清欢 18:16
3. 从一个整数ArrayList中删除奇数,请给出你的实现方式,注意时间和空间复杂性。
void deleteOdds(ArrayList<Integer> list){
清欢 18:23
4. 设计LRU缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能
1. set(key, value):将记录(key, value)插入该结构
2. get(key):返回key对应的value值
要求
1. set和get方法的时间复杂度为O(1)
2. 某个key的set或get操作一旦发生,认为这个key的记录成了最常使用的。
3. 当缓存的大小超过K时,移除最不经常使用的记录,即set或get最久远的。
public class LRUCache {