关注
我是如是做的:
(1)分词,找出那几个关键字;
(2)建立一个容器:map<string, map<int, int>> count;
其中第一个string为要统计的关键字,第二个map关键字为年份;
所以,统计就如下:count["计算机"][2016] ++;
取值: count["xxx"][year]
大致如上。
第二题:
就写了一下接口,把任意删除的思路写了一下;
其中接口采用POSA2中的thread_safe interface模式实现,减少锁的开锁,防止自我死锁;
删除任意值的想法是:首先堆的底层数据结构为一个vector,当要删除一个元素时,把这个元素与vector中最后一个有效元素交换,同时有效元素个数减1;因为交换了元素,所以,要重新调整从删除元素开始以下的元素,时间复杂度为logn。
第三题:
这一题主要还是哈希做法,但在这里,因为省份是固定的,数量并不是很多,可以采用直接查询的方式。
如:
int getHashCode(string province) {
if (province == "北京")
return 1;
......
}
这样可以得到省份对应的hashCode,这里自由发挥,也可以用Map
邮费分两种,一种是默认,一种是特殊的,所以我定义了一个结构体:
struct PostFee{
uint32_t default_fee;
uint32_t special_fee;
bool flag; //标志特殊邮费
};
####注意内存对齐,当时没考虑。。。。。
那么所有省份的邮费列表如下:
PostFee g_province_postfee[MAX_SIZE];其中,下标就代表省份的hashCode。
所以,取得一个省份的邮费可以这样:
uint32_t getPostFee(uint8_t *storage, int size, string province)
{
//合法性检测;
int hashCode = getHashCode(province);
//hashCode合法性检测
if (
g_province_postfee[hashCode].flag
) {
return
g_province_postfee[hashCode].special_fee;
}
return
g_province_postfee[hashCode].default_fee;
}
就写了这么点东西,自由发挥吧,想多了都是多余的,本就是问答题,略过了相当多的细节。
后面还有很多笔试呢,大家加油啊!!
查看原帖
点赞 2
相关推荐
查看3道真题和解析 点赞 评论 收藏
分享
03-12 09:15
门头沟学院 Java
不知道怎么取名字_:其实很多mentor都很忙的,能当mentor,肯定能力强,这类人工作都是有难度的,事情多的人的 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 春招/暑实第一面是哪家? #
7270次浏览 105人参与
# 面试官最爱问的 AI 问题是...... #
5089次浏览 186人参与
# 如何一边实习一边找下家? #
5001次浏览 55人参与
# 面试官问过你最刁钻的问题是什么? #
75276次浏览 466人参与
# 你收到了哪些公司的笔试? #
7574次浏览 37人参与
# 机械制造面试点评 #
90432次浏览 482人参与
# 跟HR说什么能被秒回? #
2781次浏览 51人参与
# 把自己当AI,现在最消耗你token的问题是什么? #
602次浏览 20人参与
# 你的嫡系AI是哪个? #
1323次浏览 40人参与
# 你现在的工作,是“成长”还是“消耗”? #
5104次浏览 81人参与
# 现在入门AI应该走哪些方向? #
1298次浏览 33人参与
# 你认为小厂实习有用吗? #
128331次浏览 707人参与
# 找不到好工作选择GAP真的丢人吗 #
102556次浏览 1020人参与
# 如何排解工作中的焦虑 #
282711次浏览 2552人参与
# 上班到公司第一件事做什么? #
150261次浏览 1055人参与
# 淘天集团工作体验 #
12731次浏览 59人参与
# 机械人选offer,最看重什么? #
165890次浏览 810人参与
# 金三银四,你的春招进行到哪个阶段了? #
19747次浏览 266人参与
# 追觅科技求职进展汇总 #
35865次浏览 190人参与
# 滴滴笔试 #
39036次浏览 215人参与