关于蜗牛游戏公司笔试

本文讨论了如何设计一个网络游戏的积分排行榜系统,包括在内存中仅存储前N名玩家数据的要求,以及如何使用C++ STL实现。同时,提出了数据库建表、按规则获取前N名记录的SQL语句,并探讨了不同数据结构的选择,如map和list,以及使用模板推导优化解决方案。
摘要由CSDN通过智能技术生成
 

贴文:
假设某网络游戏中的积分排行榜:
昵称 等级(整数,取值范围1~100) 积分(整数,取值范围0~10亿)
张三 99 212100021
李四 98 212100021
王五 98 112109766
... .... ........
排序规则:以积分值降序排列,同样积分的情况下等级高的排在前面
榜的大小:在内存中只保存前N名玩家的数据,N的大小在程序初始化时传入
要求1:设计一个积分排行榜接口类,包括:
   A,初始化操作(需要提供一个参数传入榜的大小)
   B,尝试进榜操作,当游戏任意一个玩家的数据发生改变时将调用该操作
要求2:编写可以满足该接口类的实现类(c++笔试可用STL)
   考虑内存占用和代码执行效率的优化
要求3:考虑在数据库中存放所有用户排行数据的情况,请使用标准SQL语句编写
   A,建表
   B,按照排序规则获取前N条记录
   C,分组统计各等级的积分平均值并降序排列:
等级 积分平均值
99 212100021
98 100000000
97 98765432
96 ......
95 ......


笔试还是没给做出来,悲剧,开始想着用map,后来又
想着用
typedef unsigned int uint;

typedef struct playerinfo
{
  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值