LeetCode119 Pascal's Triangle II
来源:互联网 发布:淘宝产品推广方案 编辑:程序博客网 时间:2024/05/18 02:07
详细见:leetcode.com/problems/pascals-triangle-ii
Java Solution: github
package leetcode;import java.util.ArrayList;import java.util.List;/* * Given an index k, return the kth row of the Pascal's triangle.For example, given k = 3,Return [1,3,3,1].Note:Could you optimize your algorithm to use only O(k) extra space? */public class P119_PascalsTriangleII {public static void main(String[] args) {Solution s = new Solution();for (int i = -1; i < 11; i ++) {List<Integer> ans = s.getRow(i);tools.Utils.B_打印List_Integer_OneLine(ans);}}static class Solution { public List<Integer> getRow(int rowIndex) { rowIndex ++; List<Integer> ans = new ArrayList<>(rowIndex > 0 ? rowIndex : 1); if (rowIndex <= 1) { ans.add(1); return ans; } for (int i = 0; i < rowIndex; i ++) { ans.add(0); } ans.set(rowIndex - 1, 1); ans.set(rowIndex - 2, 1); int index = rowIndex - 3; while (index != - 1) { for (int jndex = index + 1; jndex < rowIndex - 1; jndex ++) { ans.set(jndex, ans.get(jndex) + ans.get(jndex + 1)); } ans.set(index, 1); index --; } return ans; }}}
C Solution: github
/* url: leetcode.com/problems/pascals-triangle-ii AC 3ms 2.56%*/void swap(int** a, int** b) { int* t = *a; *a = *b; *b = t;}int* getRow(int ri, int* rn) { int* ans = (int*) malloc(sizeof(int) * (ri+1)); int* tmp = (int*) malloc(sizeof(int) * (ri+1)); int i = 0, j = 0, k = 0; for (i = 0; i <= ri; i ++) { ans[0] = 1; for (j = 1; j <= i; j ++) { ans[j] = tmp[j] + tmp[j-1]; } ans[i] = 1; swap(&ans, &tmp); } free(ans); *rn = ri+1; return tmp;}
Python Solution: github
#coding=utf-8''' url: leetcode.com/problems/pascals-triangle-ii @author: zxwtry @email: zxwtry@qq.com @date: 2017年5月4日 @details: Solution: 55ms 25.60%'''class Solution(object): def getRow(self, i): """ :type i: int :rtype: List[int] """ L, R = [1]*(i+1), [1]*(i+1) if i < 2: return L for k in range(2, i): for j in range(1, k): R[k][j] = R[k-1][j-1]+R[k-1][j] L, R = R, L return L
0 0
- LeetCode119:Pascal's Triangle II
- leetcode119~Pascal's Triangle II
- LeetCode119. Pascal's Triangle II
- LeetCode119 Pascal's Triangle II
- LeetCode119. Pascal's Triangle II
- LeetCode119——Pascal's Triangle II
- LeetCode119—Pascal's Triangle II
- Pascal's Triangle、Pascal's Triangle II
- Pascal's Triangle , Pascal's Triangle II
- Pascal's Triangle & Pascal's Triangle II
- Pascal's Triangle && Pascal's Triangle II
- Pascal's Triangle II
- Pascal's Triangle II
- Pascal's Triangle II
- Pascal's Triangle II
- Pascal's Triangle II
- Pascal's Triangle II
- Pascal's Triangle II
- C# WinForm开发系列之DataRepeater控件的使用(显示数据的基础使用和自定义使用)
- JavaScript 4.3 函数高级-闭包
- 野指针
- eclipse添加egit插件并链接github远程仓库记录
- Android-handler.post和handlemessage的使用对比(下载图片)
- LeetCode119 Pascal's Triangle II
- spfa最短距
- git上传本地分支到github项目分支
- 再见,OI ---GDOI2017爆零记
- 模拟器连接网络
- 缺失值的插补
- 关系型数据库和非关系型数据库的特性以及各自的优缺点
- LeetCode120 Triangle
- Java 实例