2016百度春招筆試題(高中熟悉的題如今卻變得陌生)

題目

6× 9的的方格中,起點的左下角,終點在右上角,從起點到終點,只能從下向上,從左向右走,問一共有多少種不一樣的走法。
A. 4200
B. 5005
C. 1005
D. 以上都不正確java

3、解題

固然這道題有點異議,爲何這樣說呢?由於題目沒有明確說明是按方格來走仍是按照線來走。git

首先咱們嘗試下按方格來走,獲得的結果是什麼?要想知道結果,咱們須要知道題目想考察咱們什麼,很顯然,題目其實考察咱們高中很是熟悉的排列組合的問題,完徹底全就是高中的題目,但是如今可能對於咱們來講又是如此的陌生。這道題若是按方格來走的話,結果就是 C(5, 13) = 1287 。13 是哪裏來的,5 又是哪裏來的,思考以前,咱們能夠先看一張圖。github

走格子.png

根據圖片能夠看出,13 就從左下角到右上角一個要走的格子數,5 就是走的行數,爲何是從 13 箇中選 5 個來組合就知道一共有多少種走法呢?其實由於咱們只要知道了行數的 5 個的位置咱們就知道列數 8 個格子的位置,固然你也能夠 13 選 8 ,結果都是同樣的。爲啥同樣,貼一張圖來回憶起咱們遺忘的記憶吧。面試

排列組合的公式.jpg

所以,按走的是格子來算,結果是 C(5, 13) = C(8, 13) = 1287編程

其實這道題目想表達的意思是按線來算的,但是原理仍是跟上面同樣的ui

走線.png

所以,按走的是線來算,結果是 C(6, 15) = C(9, 15) = 5005spa

4、相似的題目

其實這種題目不少大企業大公司都會做爲面試題,好比咱們來看看下面兩道相似的題目:code

1.阿里巴巴的筆試題目圖片

說 16 我的按順序去買燒餅,其中 8 我的每人身上只有一張 5 塊錢,另外 8 我的每人身上只有一張 10 塊錢。燒餅 5 塊一個,開始時燒餅店老闆身上沒有錢。16 個顧客互相不通氣,每人只買一個。問這 16 我的共有多少種排列方法能避免找不開錢的狀況出現。get

假設付 5 塊錢的人都是 1,付 10 塊錢的人都是 0 ,則排隊順序可能爲1111111100000000 或各類 1 與 0 的排列組合,那麼總共的排列順序就是C(16,8),這裏跟上面的都是同樣的,可是爲了不找不開錢,則從左到右時,不能有 0 的數目小於 1 的數目的狀況出現。若是出現這種狀況,則必然存在第2m+1 個數目時(即某個奇數數目),前 2m+1 個數目中有 m+1個0,m 個 1 。那麼在剩餘的 16-2m-1 個數目中,即 15-2m 個數目中,必然存在着 8-m-1 個 0 ,8-m 個 1 ,即 7-m 個 0 ,8-m 個 1 。如今再把剩餘的 16-2m-1 個數目中的 0 與 1 互換,則爲 8-m 個0,7-m 個 1 ,這個時候,整個數列就變爲了 9 個 0,7 個 1 。因此一個不符合要求的數目爲 9 個 0 和 7 個 1 組成。所以,結果爲 C(16,8)-C(16,9)= 12870 - 11440 = 1430

2.2012騰訊實習招聘筆試題

在圖書館一共6我的在排隊,3個還《面試寶典》一書,3個在借《面試寶典》一書,圖書館此時沒有了面試寶典了,求他們排隊的總數?

其實這些問題能夠轉化爲下面的格路問題,從左下角到右上角,不能是對角線,有多少種方案。不過加了限制條件而已,這道題跟阿里巴巴那道面試題同樣,結果爲:結果爲 C(6,3)-C(6,4)= 20 - 15 = 5

5、編程

GitHub:https://github.com/TwoWater/Interview/tree/master/Interview

package com.liangdianshui;

/**
 * <p>
 * 6× 9的的方格中,起點的左下角,終點在右上角,從起點到終點,只能從下向上,從左向右走,問一共有多少種不一樣的走法。
 *  A. 4200 
 *  B. 5005
 *  C. 1005 
 *  D. 以上都不正確
 * </p>
 * 
 * @author liangdianshui
 *
 */
public class Catalan {

    public static void main(String[] args) {
        System.out.println(func(6, 9));
    }

    public static int func(int m, int n) {

        if (m < 1 || n < 1) {
            return 1;
        }

        return func(m - 1, n) + func(m, n - 1);
    }
}
相關文章
相關標籤/搜索