騰訊筆試題思路

問題1:

有一個(gè)n*m的迷宮,有兩種地塊,’*’表示該地塊走過2次以后會(huì)被破壞,’x’表示該地塊走過1次后就被破壞,無法行走到被破壞的地塊。左上角坐標(biāo)為(1,1),右下角坐標(biāo)為(n,m),每一次必須向上下左右四個(gè)方向之一走一步(不能原地停留)。給定起點(diǎn)和終點(diǎn),問能否從起點(diǎn)走到終點(diǎn)并且使終點(diǎn)恰好被破壞。

?輸入:

數(shù)據(jù)組數(shù)t

n m

n行迷宮

起點(diǎn)坐標(biāo)

終點(diǎn)坐標(biāo)

?輸出:YES或者NO

?數(shù)據(jù)范圍:t<=10,0<=n,m<=500


思路:

由題目可知只有‘*’和‘x'兩種地塊,也就是說從起點(diǎn)到終點(diǎn)一定有一條路可以走一邊。則問題轉(zhuǎn)換成了如何讓終點(diǎn)一定被破壞。

分情況討論:

1、終點(diǎn)為‘x'。則走一次就會(huì)被破壞,滿足題目要求。

2、終點(diǎn)為’*’,則需要找一條路可以從終點(diǎn)走到終點(diǎn)。此時(shí)終點(diǎn)正好被走了兩次。即從終點(diǎn)出發(fā),是否有一條路,可以從終點(diǎn)走到終點(diǎn)。

討論不能從終點(diǎn)走到終點(diǎn)的情況:

1、迷宮只有一行或一列,起點(diǎn)和終點(diǎn)都在這一行和一列上,此時(shí)沒有路,輸出‘NO'

2、除此之外都有路,輸出‘YES'。

解題關(guān)鍵:

讀懂題目的意思,可以簡化思路。如此題從終點(diǎn)開始思考便很簡單啦。


問題2:

?冰激凌由n種材料組成,每制作一份冰激凌需要每種材料各一份。每種材料單價(jià)為Vi元,現(xiàn)在小明手上每種材料有Wi份,且有M元。問小明最多做多少份冰激凌。

?1<=n<=100,1<=m<=1e12

?0<=Wi<=1e12

?1<=vi<=100


思路:

求最大化或最小化問題,可以轉(zhuǎn)換成求是否的問題。

要滿足以下條件:

問題的答案是單調(diào)的(如此題,小明如果可以做n份,那小明也可以做n-1份)

問題轉(zhuǎn)變成求區(qū)間(a,b)找到小明可以做出和不可以做出的分界線mid

即是一個(gè)二分搜索的問題,每次判斷isOK(mid)即小明可不可以做mid份冰淇淋。

解題關(guān)鍵:

原問題的轉(zhuǎn)換,最大最小問題轉(zhuǎn)變成是否問題。


問題3:

?n行,但固定只有3列,從第一行任意位置走到最后一行任意位置,每一次可以向下,左下,右下走。如果走到的格子為0,則當(dāng)前分?jǐn)?shù)取相反數(shù)。問分?jǐn)?shù)最高多少分

?格子內(nèi)的數(shù)值w,-10000<=w<=10000,1<=n<=10000


思路:

動(dòng)態(tài)規(guī)劃問題。

用兩個(gè)二維數(shù)組dp1,dp2分別保存當(dāng)前位置的最大值和最小值。

如果遇到0,最小值就有了變?yōu)樽畲笾档目赡苄?,同理最大值?/p>


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 回溯算法 回溯法:也稱為試探法,它并不考慮問題規(guī)模的大小,而是從問題的最明顯的最小規(guī)模開始逐步求解出可能的答案,并...
    fredal閱讀 14,010評論 0 89
  • One 1 the [e?, ei:] art.這,那 ad.[用于比較級(jí);最高級(jí)前] 2 be [bi:,bi]...
    梁培林閱讀 9,619評論 0 10
  • 一切物品價(jià)值在于使用
    三人成隊(duì)閱讀 123評論 0 0
  • 高中生的晚自習(xí)下課很晚接孩子的家長總會(huì)提前大車小車先到后安無人指揮的馬路邊停放次序堅(jiān)守井然望子成才的家長用自律和孩...
    金啟閱讀 265評論 0 2
  • 在這個(gè)世界上,最簡單的,才是最難做到的 簡單的事情重復(fù)做,重復(fù)的事情用心做~ 一直持續(xù),就是最了不起的!
    Jessie_cyy閱讀 791評論 7 7

友情鏈接更多精彩內(nèi)容