日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《Cracking the Coding Interview程序员面试金典》----猫狗收容所

發布時間:2024/1/8 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《Cracking the Coding Interview程序员面试金典》----猫狗收容所 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
時間限制:3秒? 空間限制:32768K? 熱度指數:1535 本題知識點:? 棧? 隊列 ?算法知識視頻講解

題目描述

? ? ? ??有家動物收容所只收留貓和狗,但有特殊的收養規則,收養人有兩種收養方式,第一種為直接收養所有動物中最早進入收容所的,第二種為選擇收養的動物類型(貓或狗),并收養該種動物中最早進入收容所的。

? ? ? ?給定一個操作序列int[][2]?ope(C++中為vector<vector<int>>)代表所有事件。若第一個元素為1,則代表有動物進入收容所,第二個元素為動物的編號,正數代表狗,負數代表貓;若第一個元素為2,則代表有人收養動物,第二個元素若為0,則采取第一種收養方式,若為1,則指定收養狗,若為-1則指定收養貓。請按順序返回收養的序列。若出現不合法的操作,即沒有可以符合領養要求的動物,則將這次領養操作忽略。

測試樣例: [[1,1],[1,-1],[2,0],[2,-1]]

返回:[1,-1]

代碼如下:

class CatDogAsylum { public:vector<int> asylum(vector<vector<int> > ope) {vector<int>result;int flag; int len=ope.size(); for(int i=0;i<len;i++) { if(ope[i][0]==2) { flag=0; if(ope[i][1]==0)//按照第一種方式選動物; { for(int j=0;j<i&&flag==0;j++) { if(ope[j][0]==1)//最早的動物; { result.push_back(ope[j][1]); ope[j][0]=-1;//表示已經選過; flag=1; } } } else if (ope[i][1]==1)//取第一個狗; { for(int j=0;j<i&&flag==0;j++) { if(ope[j][0]==1&&ope[j][1]>=0) { result.push_back(ope[j][1]); ope[j][0]=-1;//表示已經選過; flag=1; } } } else//取第一個貓; { for(int j=0;j<i&&flag==0;j++) { if(ope[j][0]==1&&ope[j][1]<0) { result.push_back(ope[j][1]); ope[j][0]=-1;//表示已經選過; flag=1; } } } } } return result; } };

不懂的可以加我的QQ群:261035036(IT程序員面試寶典

群)?歡迎你到來哦,看了博文給點腳印唄,謝謝啦~~


總結

以上是生活随笔為你收集整理的《Cracking the Coding Interview程序员面试金典》----猫狗收容所的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。