本人刷LeeCode不按顺序啦嘿嘿嘿,所以先放一个杨辉三角。
因为学校里学的是Java,所以对C/C++不熟悉,但是准备保研看到好多学校机试C/C++居多,所以全都用C/C++来刷题啦!
杨辉三角大家都比较熟悉了~
(我个人想要关注的点哦~不想看直接往下拉就好了~o(* ̄▽ ̄*)ブ)
二维向量的创建:
1、每行(列)元素个数都相同:
//m*n的二维向量 vector<vector<int> > vec(m, vector<int>(n));
2、每行元素个数不相同:
vector<vector<int> >vec;//先声明一个二维向量 //每一行的元素个数等于该行的下标加一 for(int i=0; i < numRows; i++) vec.push_back(vector<int>(i+1,0));
class Solution { public: vector<vector<int>> generate(int numRows) { vector<vector<int> >vec; for(int i=0; i < numRows; i++) vec.push_back(vector<int>(i+1,0)); for(int r=0; r<numRows; ++r){ for(int c=0; c<r+1; ++c){ if(c==0||c==r){//当循环到每行的第一个和最后一个元素时直接赋值为1 vec[r][c] = 1; } else if(r!=0){ vec[r][c] = vec[r-1][c]+vec[r-1][c-1]; } } } return vec; } };
(不同次提交相同代码也可能会有不同的执行时间,所以仅供参考哦~)
吼吼吼,比不上少于5ms的大佬们,达到8ms我也感到很惊喜很满足了!继续努力吧!