目錄(?
[+]
輸入n個int數,[0,n-2]表示n-1個酒店的每晚**,第[n-1]個元素是你擁有的錢。
要求輸出,能住最少的天數,且錢必須剛好花完。
若不存在匹配情況,則返回-1.
輸入描述
輸入為一行。輸出描述共n個整數,最後乙個數是擁有的錢數。以空格分隔。
輸出能住的最小天數,不存在則輸出-1。輸入例子
1001 1002 1003 1004 1000輸出例子
-1分析:這題採用深度優先搜尋(dfs)的策略。
首先對資料進行預處理:設擁有的錢為n,先排除掉大於n的數字,再對剩下的數字進行從大到小排序。
[cpp]view plain
copy
#include
#include
#include
using
namespace
std;
intminday = -1;
//全域性變數
bool
cost(vector<
int> vec,
intmoney,
intday,
intno)
if(money>no)
return
-1;
else
} intmain()
intno = vec[vec.size()-1];
//總共的錢數
vector
>::iterator idx = vec.end();
vec.erase(idx-1);
sort(vec.begin(),vec.end());//對酒店住宿費用進行排序
idx = vec.end();
cost(vec,0,0,no);
if(minday==-1)
cout<
cout<
return
0;
}
注意:該題用了深度優先的思想,也可以採用揹包問題的策略求解。具體參見部落格最少硬幣找零問題-動態規劃。
from:
去哪兒網筆試 面試
今天參加了去哪兒網春季實習生招聘的筆試,這也是讀研之後的第一次筆試。我做的是開發的題目,總體來講,筆試題目還是比較簡單的。考察的點涉及二分查詢 雜湊表的應用以及一些測試的基礎,具體題目就不提了。主要總結一下筆試之後的感想 總之,對自己讀研之後第一次筆試不滿意,也總結了一些經驗教訓。期待第一次面試,無...
去哪兒網2019秋招筆試題
1.題目描述 給出乙個由 100,100 之間整數組成的陣列,求其相加和最大的連續子陣列 輸入 乙個連續整數組成的陣列 輸出 子陣列相加的最大值 樣例輸入 1 2 3 2 4 6 樣例輸出 72.題目描述 騎士只能在3x2的格仔中以對角線的形式走,給定棋盤的大小為8x8,題目輸入起點和終點,求騎士從...
筆試練習 去哪兒筆試題
1 二分查詢 對於乙個有序陣列,我們通常採用二分查詢的方式來定位某一元素,請編寫二分查詢的演算法,在陣列中查詢指定元素。給定乙個整數陣列a及它的大小n,同時給定要查詢的元素val,請返回它在陣列中的位置 從0開始 若不存在該元素,返回 1。若該元素出現多次,請返回第一次出現的位置。測試樣例 1,3,...