阿里本地生活后端一面

自我介绍(十分钟,过长,语速过快,没有重点,面试官不懂没得问)
b树和b+树,红黑树,区别,分别用法
key-value的数据结构
跳表和红黑树,哈希,分别的时间复杂度!!!(跳表答错了)
内存映射文件
贪心和动态规划区别
left join,right join

// 评测题目:
// 给定一个商品(Item)list,同一个门店(shop)可能存在多个商品(item),要求
// - 对商品list进行排序(优先按照priority,其次按照score排序)
// - 同一个门店下的商品只能出现一次

struct Item {
int itemId;
int shopId;
int priority;
double score;
}

bool cmp(vector a,vector b){
return a.priority!=b.priority?a.priority>b.priority:(a.score>b.score);
}
bool cmp_shop(list a,list b){
return a[0]!=b[0]?a[0]>b[0]:a[1]>b[1];
}
vector rank(vector items) {
int num=items.size();
sort(items.begin(),items.end(),cmp);
vector ans;
unordered_set shop;
for(auto i:items){
if(shop[i.shopId]!=shop.end()){
continue;
}
else{
shop.insert(i.shopId);
ans.push_back(i);
}
}

// vector<vector> shop;
// unordered_map<int,list> shop;
// for(auto i:items){
// list list_item;
// list_item.insert(i.itemId);
// list_item.insert(i.priority);
// list_item.insert(i.score);
// shop[i.shopId].insert(list_item);
// }
// for(auto i:shop){
// if(i[0]==)
// }

// for(auto i:items){
// if(i.shopId==(–i).shopId&&i.itemId==(–i).itemId){
// if(cmp(i,–i)){
// ans.pop_back();
// ans.push_back(i);
// }
// }
// else
// ans.push_back(i);
// }
return ans;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值