便利蜂2019秋招Web前端开发工程师
便利蜂 2019校招 开发类试卷在线考试
编程题|10.0分1/3设计一个LRU(Least Recently Used)缓存
时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB
题目描述:
LRU算法(Least Recently Used algorithm)
这种算法把近期最久没有被访问过的缓存页面作为被替换的页面
请实现一个基于LRU的算法的缓存
输入
第一行输入的是缓存的容量
从第二行开始输入的以空格间隔符的是放入缓存的数据,第一个数是key,第二个数是value
直到遇到单行是一个的数据表示放入结束,从缓存中读取该key的value
输出
如果key存在缓存中,请输出缓存中的值
不存在请输出-1
样例输入
2
1 1
2 2
3 3
1
样例输出
-1
Hint
class LRUCache {
public LRUCache(int capacity) {
// TODO
}
public int get(int key) {
// TODO
}
public void put(int key, int value) {
// TODO
}
}
便利蜂 2019校招 开发类试卷在线考试
编程题|10.0分2/3
字符串的所有大小写组合
时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB
题目描述:
一个字符串,字符串中的字符只包含ASCII码之内的值,请输出字符串的所有大小写组合(若包含非字母,直接输出即可)
输入
一个字符串,字符串中的字符只包含ASCII码之内的值
输出
字符串的所有大小写组合(若包含非字母,直接输出即可)
样例输入
aa123bb
样例输出
aa123bb
Aa123bb
AA123bb
AA123Bb
AA123BB
AA123bB
Aa123Bb
Aa123BB
Aa123bB
aA123bb
aA123Bb
aA123BB
aA123bB
aa123Bb
aa123BB
aa123bB
便利蜂 2019校招 开发类试卷在线考试
编程题|10.0分3/3
组合排列
时间限制:C/C++语言 3000MS;其他语言 5000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB
题目描述:
给正整数m, 正整数n, 输出所有m个正整数的组合,要求和小于等于n
输入
给定 m=2, n=5
输出
所有可能的组合有: [1,4] [1,3] [1,2] [1,1] [2,3] [2,2] [2,1] [3,2] [3,1] [4,1]
样例输入
2,5
样例输出
[[1, 1], [1, 2], [1, 3], [1, 4], [2, 1], [2, 2], [2, 3], [3, 1], [3, 2], [4, 1]]