當(dāng)前位置:高考升學(xué)網(wǎng) > 招聘筆試題 > 正文
29. //因此這里有兩個(gè)A,一個(gè)B
30.
31.
32. //在return之前進(jìn)行析構(gòu)
33. //
34. /析構(gòu)是按照定義對(duì)象的反順序來(lái)的,而且同一個(gè)對(duì)象按照構(gòu)造的反順序來(lái)的,因此這里先
35. 析構(gòu)b然后才是a,那么b的構(gòu)造順序是上面的A()->_a->B()(局部),反過(guò)來(lái),就是B()(局部)->_a->A()
36. 因此得到的就是~B->~A->~A
37. 在b之后就是析構(gòu)a
38. 最后結(jié)果就是
39. ~B->~A->~A->~A/
40. return 0;
41. }
42. 23、一個(gè)骰子,6面,1個(gè)面是 1, 2個(gè)面是2, 3個(gè)面是3,問平均擲多少次能使1、2、3都至少出現(xiàn)一次!
43. 24、問題描述:
12個(gè)高矮不同的人,排成兩排,每排必須是從矮到高排列,而且第二排比對(duì)應(yīng)的第一排的人高,問排列方式有多少種?
這個(gè)筆試題,很YD,因?yàn)榘涯硞(gè)遞歸關(guān)系隱藏得很深.
44. 問題分析:
我們先把這12個(gè)人從低到高排列,然后,選擇6個(gè)人排在第一排,那么剩下的6個(gè)肯定是在第二排.
用0表示對(duì)應(yīng)的人在第一排,用1表示對(duì)應(yīng)的人在第二排,那么含有6個(gè)0,6個(gè)1的序列,就對(duì)應(yīng)一種方案.
比如000000111111就對(duì)應(yīng)著
第一排:0 1 2 3 4 5
第二排:6 7 8 9 10 11
010101010101就對(duì)應(yīng)著
第一排:0 2 4 6 8 10
第二排:1 3 5 7 9 11
問題轉(zhuǎn)換為,這樣的滿足條件的01序列有多少個(gè).
觀察1的出現(xiàn),我們考慮這一個(gè)出現(xiàn)能不能放在第二排,顯然,在這個(gè)1之前出現(xiàn)的那些0,1對(duì)應(yīng)的人
要么是在這個(gè)1左邊,要么是在這個(gè)1前面.而肯定要有一個(gè)0的,在這個(gè)1前面,統(tǒng)計(jì)在這個(gè)1之前的0和1的個(gè)數(shù).
也就是要求,0的個(gè)數(shù)大于1的個(gè)數(shù).
OK,問題已經(jīng)解決.
如果把0看成入棧操作,1看成出棧操作,就是說(shuō)給定6個(gè)元素,合法的入棧出棧序列有多少個(gè).
這就是catalan數(shù),這里只是用于棧,等價(jià)地描述還有,二叉樹的枚舉,多邊形分成三角形的個(gè)數(shù),圓括弧插入公式中的
方法數(shù),其通項(xiàng)是c(2n, n)/(n+1)。
2020年河北新聞網(wǎng)兩學(xué)一做
時(shí)間:2023-09-18 07:0:242020年河北新聞網(wǎng)兩學(xué)一做
時(shí)間:2023-09-15 11:0:59兩學(xué)一做學(xué)習(xí)教育知
時(shí)間:2023-09-21 06:0:302020年開展兩學(xué)一做學(xué)習(xí)教
時(shí)間:2023-09-19 21:0:30