传说中的谷歌招聘委员会成员之一,从幕后走出来,教你学系统设计!


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 834|回复: 2
收起左侧

Amazon OA Movie

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

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

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

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

x
OA 前做的movie 那道题
请问有没有什么问题啊
#include <iostream>
#include <vector>
#include <queue>
#include <set>. more info on 1point3acres.com
using namespace std;
class Movie{
        private:.鐣欏璁哄潧-涓浜-涓夊垎鍦
                int id;
                float rate;
        public:
                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;};
};
class compare_item{
        public:
                bool operator()(Movie* A,Movie* B)
                {
                        return A->getRate()>B->getRate();
                };
};
vector<Movie*> find_s(Movie& movie, int N){. visit 1point3acres.com for more.
        vector<Movie*> result;
        if(!movie.getID()||N==0) return result;
        set<int> visited;
        queue<Movie*> q;. Waral 鍗氬鏈夋洿澶氭枃绔,
        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;.鏈枃鍘熷垱鑷1point3acres璁哄潧
                q.pop();
                if(visited.find(current->getID())==visited.end())//not visited
                {
                        if(current->getID()!=movie.getID())
                        {. 鍥磋鎴戜滑@1point 3 acres
                                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()){
                                        cout<<"replaced top id: " << current->getID()<<endl;
                                        p_q.pop();p_q.push(current);
                                }
                       
                        }
                        vector<Movie*> neighbour = current->getSimilar();. From 1point 3acres bbs
                        for(int i=0;i<neighbour.size();i++)
                        { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
                                q.push(neighbour[i]);
                        }
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷                }. more info on 1point3acres.com
                visited.insert(current->getID());
        }
        while(!p_q.empty()). more info on 1point3acres.com
        {. Waral 鍗氬鏈夋洿澶氭枃绔,
                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);
        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;
        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-9-25 23:24

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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