网站联盟如何实现深圳定制网站公司
news/
2025/10/8 17:33:58/
文章来源:
网站联盟如何实现,深圳定制网站公司,网站app生成器下载,企业网站优化费用LeetCode 118 生成杨辉三角#xff08;Pascal’s Triangle#xff09;
小白渣翻译
给定一个非负整数 numRows#xff0c;生成杨辉三角的前 numRows 行。
在杨辉三角中#xff0c;每个数是它左上方和右上方的数的和。 例子 这里是小白理解
那么这种题目一上来看#xf…LeetCode 118 生成杨辉三角Pascal’s Triangle
小白渣翻译
给定一个非负整数 numRows生成杨辉三角的前 numRows 行。
在杨辉三角中每个数是它左上方和右上方的数的和。 例子 这里是小白理解
那么这种题目一上来看其实题目描述的还是很清晰了还配了一个动图增加效果总之就是让你看的清晰明了。 但是这题麻烦就在于得需要每个结果都和上一层有关系这时候黑长直女神过来问小白你这题怎么思考的啊
小白内心镇定这题白月光啊哦不对小美咱得用Recursion啊这题才能做。
递归方法通过递归调用生成前一行然后在此基础上生成当前行从而生成杨辉三角形。
第一步咱们要有个Base case吧如果给的numRows为1就返回 [[1]]。
第二步递归生成每一行
进行递归调用以生成前 numRows - 1 行。根据列表中的最后一行生成第 numRows 行。
第三步添加新行后返回三角形。
小美小伙子可以啊这不仅逻辑感人阅读理解也有俩下子
真正面试环节
面试官你可以解答这道”杨辉三角“的题目吗来看看你对数学的理解
小白嘿嘿这不巧了么这不是 public ListListInteger generate(int numRows) {ListListInteger result new ArrayList();for (int i 0; i numRows; i) {ListInteger row new ArrayList();generateRow(i, row);result.add(row);}return result;}private void generateRow(int rowNum, ListInteger row) {if (rowNum 0) {row.add(1);} else {ListInteger prevRow new ArrayList();generateRow(rowNum - 1, prevRow);// 第一个元素总是1row.add(1);// 中间元素是前一行对应位置的和for (int j 1; j rowNum; j) {row.add(prevRow.get(j - 1) prevRow.get(j));}// 最后一个元素总是1row.add(1);}}小明OK完事儿等着面试官来表扬自己吧。他肯定会说小子你是个好手工位都给你准备好了工资你说了算。
面试官矮油不错啊我就是试试你下边还有一道题接着来。
小明OS今年这个找工市场人言洛阳花似锦偏我来时不逢春。。。不是这面试官好体力啊 编码道路漫漫只要先看脚下的路徐徐前进即可。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931769.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!