给定索引k,返回Pascal三角形的第k行。例如,给定k = 3,返回[1,3,3,1]。
2017-10-11 11:20
281 查看
暴力解决 :
构造Pascal三角返回第K行
构造Pascal三角形:
vector<vector<int> > generate(int numRows) {
vector<vector<int>> a;
if(numRows==0)
return a;
for(int i=0;i<numRows;i++){
vector<int> temp(i+1,1);
for(int j=1;j<i;j++){
temp[j]=a[i-1][j]+a[i-1][j-1];
}
a.push_back(temp);
}
return a;
}
第二 : 大神思路:
构造Pascal三角返回第K行
vector<int> getRow(int rowIndex) { vector<int> result; int a[rowIndex+1][rowIndex+1]; //构造Pascal三角 for(int i=0;i<=rowIndex;i++){ for(int j=0;j<=i;j++){ if(j==0||j==i){ a[i][j]=1; }else{ a[i][j]=a[i-1][j-1]+a[i-1][j]; } } } for(int i=0;i<=rowIndex;i++){ result.push_back(a[rowIndex][i]); } return result; }
构造Pascal三角形:
vector<vector<int> > generate(int numRows) {
vector<vector<int>> a;
if(numRows==0)
return a;
for(int i=0;i<numRows;i++){
vector<int> temp(i+1,1);
for(int j=1;j<i;j++){
temp[j]=a[i-1][j]+a[i-1][j-1];
}
a.push_back(temp);
}
return a;
}
第二 : 大神思路:
vector<int> getRow(int rowIndex) { vector<int> result(rowIndex+1,1); for(int i=2;i<=rowIndex;i++){ for(int j=i-1;j>0;j--){ result[j] += result[j-1]; } } return result; }
相关文章推荐
- 给定两个字符串a和b,判断b是否是a的子序列,例如a=”abndjs“,b=“and”则返回ture,如果b=”adn“,那么返回false
- 判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0.
- java每日一题:给定一个整数数组arr和整数target,返回两个索引值,使得这两个索引值对应的整数的和等于target。(arr中有且仅有一组)
- 获取一个数组中最长的连续的元素序列。例如,给定了[31,6,32,1,3,2],最长的连续的元素序列是[1,2,3],返回其长度3
- 给定一个整数数组,返回两个数字的索引,使它们相加得到一个特定目标值
- 判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回
- 给定一个整数数组,两个数字的返回索引将它们加到一个特定的目标中。 您可以假设每个输入都只有一个解决方案,并且您可能不会两次使用相同的元素。
- 求不降序的数组arr中最大索引i使得arr[i]小于给定关键字,不存在则返回-1
- 判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0.
- 给定一个整数数组,返回数组中两个元素的和为target的索引
- 【Java】使用循环输出等腰三角形。例如给定4
- 给定一个经过一次旋转的有序数组,从中查找一个值,若存在返回它的索引,不存在返回-1
- 给定一个经过一次旋转的有序数组,从中查找一个值,若存在返回它的索引,不存在返回-1,假定数组存在重复元素
- 给定 x, k ,求满足 x + y = x | y 的第 k 小的正整数 y 。 | 是二进制的或(or)运算,例如 3 | 5 = 7。比如当 x=5,k=1时返回 2,因为5+1=6 不等于 5
- 编写一个交错合并列表元素的函数。例如:给定的两个列表为[a,B,C]和[1,2,3],函数返回[a,1,B,2,C,3]。
- 给定一个字符串,里面用空格分开为多个(>=6)部分组合,如:01 02 03 04 05 06 07 …… 写一个函数返回任意6个组合的字符串: 输出格式实例: 01 02 03 04 05 06 0
- js-数组中查找特定元素并返回所有该元素的索引
- 快速求出三角形其它两个点的索引
- 沿着循环路线有N个加油站,其中i站的天然气量是[i]。你有一辆带有无限气罐的汽车,并且它的费用是从i站到我的下一站(i + 1).如果您可以绕电路行驶一次,则返回起始站索引
- 编写一个函数,将一个数字字符串转换成该字符串对应的数字(包括正整数、负整数) 例如:“12“ 返回12 “-123“ 返回-123 函数原型:int my_atoi(char *str) {}