题目:
1.
1
1 1 1
1 2 3 2 1
1 3 6 7 6 3 1
1 4 10 16 19 16 10 4 1
NOWCODER.COM
牛客网·互联网名企笔试/面试题库
牛客出品-http://www.nowcoder.com
以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的
数,3个数之和(如果不存在某个数,认为该数就是0)。
求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3。
分析:
方法(1):
void triangle_matirx1(int rows)
{
//生成这样的阵列,规律是:当前元素=上一行的这一列+上一行的前一列+上一行的前两列
vector<vector<int>> vv;//相当于二维数组
vv.resize(rows);//设置大vector数据
for (int i = 0; i < vv.size(); i++)
{
vv[i].resize(2*i+1, 0);
vv[i][0] = 1;
}
for (int i = 1; i < vv.size(); i++)
{
for (int j = 1; j < vv[i].size(); j++)
{
int tmp = 0;
//以下三个if是判断上一行的