勤劳致富君 level
获赞
66
粉丝
0
关注
3
看过 TA
20
四川大学
2017
C++
IP属地:未知
暂未填写个人简介
私信
关注
2017-02-17 00:37
四川大学 C++
哎,不想写论文不想写论文啊…都不知道写什么…
向宇同桌:deadline是第一生产力~~ 不用担心,到时候泉思如尿崩,分分钟搞定。
0 点赞 评论 收藏
分享
2016-11-16 09:37
四川大学 C++
0 点赞 评论 收藏
分享
2016-11-16 09:01
四川大学 C++
0 点赞 评论 收藏
分享
2016-10-12 09:03
四川大学 C++
想问下岗位的问题
投递中兴通讯等公司10个岗位 >
0 点赞 评论 收藏
分享
2016-09-28 01:48
四川大学 C++
0 点赞 评论 收藏
分享
2016-09-21 11:46
已编辑
四川大学 C++
0 点赞 评论 收藏
分享
2016-09-09 21:19
四川大学 C++
附加题第一题:300万图书按年度统计计算机、科学。。。 第二题:设计接口实现多线程安全堆 第三题:存宝贝的邮费 来说说你们都是怎么做的哦?
feeling_陈:我是如是做的: (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; } 就写了这么点东西,自由发挥吧,想多了都是多余的,本就是问答题,略过了相当多的细节。 后面还有很多笔试呢,大家加油啊!!
投递阿里巴巴等公司10个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务