推荐:数据科学课程和书籍清单以及培训讲座


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 673|回复: 2
收起左侧

Amazon OA Movie

[复制链接] |试试Instant~ |关注本帖
yangcheng901211 发表于 2017-6-18 05:46:56 | 显示全部楼层 |阅读模式

2017(7-9月) 码农类 本科 全职@Amazon - 内推 - 在线笔试 |Other在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

x
OA 前做的movie 那道题. From 1point 3acres bbs
请问有没有什么问题啊.鏈枃鍘熷垱鑷1point3acres璁哄潧
#include <iostream>
#include <vector>
#include <queue>
-google 1point3acres#include <set>
using namespace std;. Waral 鍗氬鏈夋洿澶氭枃绔,
class Movie{
        private:
                int id;
                float rate;
        public:. visit 1point3acres.com for more.
                Movie(int id,int rate){.鐣欏璁哄潧-涓浜-涓夊垎鍦
                this->id=id;
                        this->rate=rate;
                };
                vector<Movie*> similarMovies;
                int getID(){return this->id;};
                float getRate(){return this->rate;};
                vector<Movie*>& getSimilar(){return this->similarMovies;};. From 1point 3acres bbs
};
class compare_item{-google 1point3acres
        public:
                bool operator()(Movie* A,Movie* B)
                {. 1point 3acres 璁哄潧
                        return A->getRate()>B->getRate();
                };
};
vector<Movie*> find_s(Movie& movie, int N){
        vector<Movie*> result;
        if(!movie.getID()||N==0) return result;
        set<int> visited;
        queue<Movie*> q;.鏈枃鍘熷垱鑷1point3acres璁哄潧
        priority_queue<Movie*,vector<Movie*>,compare_item> p_q;
        //visited.insert(movie.getID());
        q.push(&movie);
        while(!q.empty())
        {
                Movie* current = q.front();
                cout<<"currrent id: " << current->getID()<<endl;
                q.pop();
                if(visited.find(current->getID())==visited.end())//not visited
                {
                        if(current->getID()!=movie.getID())
                        {
                                cout<<"priority queue size = " << p_q.size() <<endl;
                                if(p_q.size()<N){
                                        p_q.push(current); cout<<"pushed id: " << current->getID()<<endl;
                                }
                                else if(p_q.size()==N&&current->getRate()>p_q.top()->getRate()){. From 1point 3acres bbs
                                        cout<<"replaced top id: " << current->getID()<<endl;.1point3acres缃
                                        p_q.pop();p_q.push(current);
                                }
                       
                        }
                        vector<Movie*> neighbour = current->getSimilar();
                        for(int i=0;i<neighbour.size();i++) 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
                        {
                                q.push(neighbour[i]);.鏈枃鍘熷垱鑷1point3acres璁哄潧
                        }. From 1point 3acres bbs
                }
                visited.insert(current->getID());
        }
        while(!p_q.empty())
        {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
                result.push_back(p_q.top());
                p_q.pop();. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
        }
        return result;
}
int main(int argc, char *argv[]) {
        Movie A(1,1); 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
        Movie B(2,2);
        Movie C(3,3);
        Movie D(4,9);
        Movie F(5,5);. from: 1point3acres.com/bbs
        A.similarMovies.push_back(&B); 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
        A.similarMovies.push_back(&C);
        A.similarMovies.push_back(&D);
        B.similarMovies.push_back(&F); 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
        C.similarMovies.push_back(&A);
        C.similarMovies.push_back(&B);
        D.similarMovies.push_back(&A);
        vector<Movie*> result = find_s(A,1);
        cout<<"start" <<endl;
        cout << result.size() << endl;
.鏈枃鍘熷垱鑷1point3acres璁哄潧        for(int i=0;i<result.size();i++)
                cout<<"ID: "<<result[i]->getID() << " Rate:" << result[i]->getRate()<<endl; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
        return 1;
       
}

 楼主| yangcheng901211 发表于 2017-6-18 05:48:04 | 显示全部楼层
请大家指点 打算明天做OA
回复 支持 反对

使用道具 举报

Tomyxue 发表于 2017-7-3 09:41:32 | 显示全部楼层
楼主,方便说一下您考的是哪些嘛?谢谢
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-8-19 15:55

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表