leetcode 刷題 楊輝三角
阿新 • • 發佈:2020-12-27
技術標籤:leetcode刷題
純粹是自己寫的嗷,發現了一個規律,第i行,除了首尾為1,其他各個位,假設其下標為i,則一定是由上一行下標為i-1,i的元素嘉和得到,根據此觀察編寫程式。
class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> list = new ArrayList<List<Integer>>(); for(int i = 1; i < numRows + 1; i++) { System.out.println("執行了"+i+"行"); list.add(getNowRow(i, list)); } return list; } /** * * @param num 當前行的個數 * @return */ private List<Integer> getNowRow(int num, List<List<Integer>> nowList) { // TODO Auto-generated method stub List<Integer> resList = new ArrayList<Integer>(); if(num == 1) { resList.add(1); return resList; } if(num == 2) { resList.add(1); resList.add(1); return resList; } for(int i = 1;i < num - 1; i++) { resList.add(nowList.get(num-2).get(i-1)+nowList.get(num-2).get(i)); } //首尾加1 resList.add(0, 1); resList.add(resList.size(), 1); return resList; } }