118. Pascal's Triangle

來源:互聯網
上載者:User

標籤:整數   triangle   for   迴圈   pascal   else   pre   public   技術分享   

一、題目

  1、審題

  

  2、分析

   輸入一個整數 n, 返回楊輝三角的 n 行。

 

 二、解答

  1、思路: 

    方法一、

      利用一次迴圈,直接計算楊輝三角的一行。再利用一次迴圈用 List 儲存楊輝三角的 n 行。

    public List<List<Integer>> generate(int numRows) {        List<List<Integer>> resultList = new ArrayList<List<Integer>>();                if(numRows == 0)            return resultList;        else if(numRows == 1) {            resultList.add(Arrays.asList(1));            return resultList;        }        resultList.add(Arrays.asList(1));        resultList.add(Arrays.asList(1, 1));        int i = 2;        while(i < numRows) {            List<Integer> targetList = new ArrayList<>();            List<Integer> tmpList = resultList.get(i-1);            targetList.add(1);            for (int j = 1; j < i; j++)                 targetList.add(tmpList.get(j) + tmpList.get(j-1));            targetList.add(1);            resultList.add(targetList);            i++;        }        return resultList;    }

  

  方法二、

    直接在一個 List 中計算楊輝三角的每一行。

    public List<List<Integer>> generate2(int numRows) {                List<List<Integer>> resultList = new ArrayList<List<Integer>>();        List<Integer> row = new ArrayList<Integer>();        for(int i = 0; i < numRows; i++) {                        row.add(0, 1);            for(int j = 1; j < row.size() - 1; j++)                 row.set(j, row.get(j) + row.get(j + 1));            resultList.add(new ArrayList<>(row));        }                return resultList;    }

 

118. Pascal's Triangle

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.