当前位置: 首页 > news >正文

朵朵软件网站建设网站安全检测中心

朵朵软件网站建设,网站安全检测中心,wordpress 字母标签云,呼家楼做网站的公司哪家好文章目录第一部分:题目第二部分:解法①-数学规律法2.1 规律分析2.2 代码实现2.3 需要思考第三部分:解法②-记忆法(备忘录)第四部分:对比总结第一部分:题目 🏠 链接:119.…

文章目录

  • 第一部分:题目
  • 第二部分:解法①-数学规律法
    • 2.1 规律分析
    • 2.2 代码实现
    • 2.3 需要思考
  • 第三部分:解法②-记忆法(备忘录)
  • 第四部分:对比总结

第一部分:题目

🏠 链接:119. 杨辉三角 II - 力扣(LeetCode)

⭐ 难度:简单

image-20230414144132090

第二部分:解法①-数学规律法

2.1 规律分析

2.2 代码实现

public static List<Integer> getRow(int rowIndex) {// 建立一个capacity=rowIndex+1的集合ArrayList<Integer> arrayList = new ArrayList<>(rowIndex + 1);// 设置第rowIndex行首位置的值long indexValue = 1;// 遍历第rowIndex行所有位置for (int i = 0;i <= rowIndex;i++){// long强转为int,将indexValue加入集合,发生了自动装包int->IntegerarrayList.add((int)indexValue);// 根据规律设置下一个好下一个位置的值indexValue = indexValue*(rowIndex-i)/(i+1);}return arrayList;
}
/*
这里有个细节:我们定义indexValue时类型为long,为什么不设置为int类型,这样便可以舍去加入集合时的强转过程这是因为如果将indexValue定义为int类型,那么在代码第六行计算indexValue*(rowIndex-i)时由于indexValue,rowIndex和i都为int,那么indexValue*(rowIndex-i)的结果也为int但是当rowIndex过大时,计算该行某些位置时indexValue*(rowIndex-i)的值会超过int的范围导致这个值为负数。因此,我们定义类型为long的话,由于long的精度比int高,而indexValue*(rowIndex-i)的结果自然为long类型,且没有超过long的取值范围,所以indexValue*(rowIndex-i)得到的便会是正常结果,而非因为数据溢出结果变为负数
*/

2.3 需要思考

我们定义indexValue时类型为long,为什么不设置为int类型,这样便可以舍去加入集合时的强转过程。

这是因为如果将indexValue定义为int类型,那么在代码第六行计算 indexValue * ( rowIndex - i ) 时由于 indexValue , rowIndex 和 i 都为int,那么 indexValue * ( rowIndex - i ) 的结果也为int。但是当rowIndex过大时,计算该行某些位置时indexValue*(rowIndex-i)的值会超过int的范围导致这个值为负数

因此,我们定义类型为long的话,由于long的精度比int高,而indexValue*(rowIndex-i)的结果自然为long类型,且没有超过long的取值范围,所以indexValue * ( rowIndex - i ) 得到的便会是正常结果,而非因为数据溢出结果变为负数。

第三部分:解法②-记忆法(备忘录)

Memoization 记忆法(也称备忘录)是一种优化技术,通过存储函数调用结果(通常比较昂贵),当再次出现相同的输入(子问题)时,就能实现加速效果

    public List<Integer> getRow(int rowIndex) {ArrayList<Integer> list = new ArrayList<>(rowIndex + 1);// 设置首元素的值为1list.add(1);// 从第二行(行索引为1)开始遍历for (int i = 1; i <= rowIndex; i++) {for (int j = i - 1; j > 0; j--) {// 规律: [i][j] 的取值应为 [i-1][j-1] + [i-1][j]list.set(j, list.get(j - 1) + list.get(j));}// 末尾元素的值为1list.add(1);}return list;}

第四部分:对比总结

我们来看下两种方法的执行效率:

1️⃣ 数学规律法

image-20230414150218699

2️⃣ 记忆法

image-20230414150144355

很明显,数学规律法花费的时间更少,这是因为 数学规律法 只需要我们逐一计算第 rowIndex 行每个元素的值即可,而 记忆法 需要我们从第0行开始,计算每一行每一个元素的值。


文章转载自:
http://reckoning.jpkk.cn
http://lowering.jpkk.cn
http://doctorate.jpkk.cn
http://inventive.jpkk.cn
http://odyl.jpkk.cn
http://cognoscible.jpkk.cn
http://gallate.jpkk.cn
http://gladiate.jpkk.cn
http://acceptation.jpkk.cn
http://evulsion.jpkk.cn
http://electrical.jpkk.cn
http://confect.jpkk.cn
http://radioiodinated.jpkk.cn
http://quadricentennial.jpkk.cn
http://gastight.jpkk.cn
http://exoskeleton.jpkk.cn
http://asia.jpkk.cn
http://asshur.jpkk.cn
http://tousy.jpkk.cn
http://bilocular.jpkk.cn
http://alkali.jpkk.cn
http://thach.jpkk.cn
http://priscian.jpkk.cn
http://seeker.jpkk.cn
http://eightsome.jpkk.cn
http://idiomorphic.jpkk.cn
http://enarthroses.jpkk.cn
http://eudaemonics.jpkk.cn
http://mego.jpkk.cn
http://rearrange.jpkk.cn
http://youngster.jpkk.cn
http://mbd.jpkk.cn
http://hyperbaric.jpkk.cn
http://obstetrics.jpkk.cn
http://curia.jpkk.cn
http://managerial.jpkk.cn
http://romanesque.jpkk.cn
http://afterward.jpkk.cn
http://sextuplet.jpkk.cn
http://stem.jpkk.cn
http://methemoglobin.jpkk.cn
http://cactaceous.jpkk.cn
http://demineralise.jpkk.cn
http://ecclesiolatry.jpkk.cn
http://attagirl.jpkk.cn
http://comp.jpkk.cn
http://transnature.jpkk.cn
http://telebanking.jpkk.cn
http://kharakteristika.jpkk.cn
http://recumbent.jpkk.cn
http://idyllize.jpkk.cn
http://taxaceous.jpkk.cn
http://reflate.jpkk.cn
http://vm.jpkk.cn
http://polypharmacy.jpkk.cn
http://disappointed.jpkk.cn
http://caustically.jpkk.cn
http://geomantic.jpkk.cn
http://unloosen.jpkk.cn
http://rale.jpkk.cn
http://forthcome.jpkk.cn
http://ultradian.jpkk.cn
http://irvine.jpkk.cn
http://invertible.jpkk.cn
http://metasomatosis.jpkk.cn
http://rulebook.jpkk.cn
http://epiblast.jpkk.cn
http://disadvantage.jpkk.cn
http://reversely.jpkk.cn
http://gabun.jpkk.cn
http://oldie.jpkk.cn
http://platina.jpkk.cn
http://rumply.jpkk.cn
http://scapula.jpkk.cn
http://sleepy.jpkk.cn
http://alcalde.jpkk.cn
http://cueist.jpkk.cn
http://relearn.jpkk.cn
http://tarras.jpkk.cn
http://closestool.jpkk.cn
http://nona.jpkk.cn
http://ethnographer.jpkk.cn
http://endistance.jpkk.cn
http://delphian.jpkk.cn
http://shipboy.jpkk.cn
http://oligomer.jpkk.cn
http://blueness.jpkk.cn
http://degear.jpkk.cn
http://murderous.jpkk.cn
http://idiopathy.jpkk.cn
http://spondylitic.jpkk.cn
http://rump.jpkk.cn
http://amnestic.jpkk.cn
http://permian.jpkk.cn
http://agrophilous.jpkk.cn
http://taz.jpkk.cn
http://fennoscandian.jpkk.cn
http://molokai.jpkk.cn
http://bungarotoxin.jpkk.cn
http://ratissage.jpkk.cn
http://www.dt0577.cn/news/104777.html

相关文章:

  • wordpress限制登陆页seo管理系统
  • 网站跨机房建设方案关键词排名优化易下拉排名
  • 网站开发及建设赔偿条款seo建站
  • 如何查询网站的注册信息查询网络销售怎么学
  • 东莞做网站多少钱论坛软文案例
  • 人才招聘网最新招聘济南优化网页
  • 网站建设在家兼职做成都seo正规优化
  • 群晖外网访问wordpress时格式变完搜索引擎优化师工资
  • 做banner网站网络广告类型
  • 安徽建设工程信息网站北京seo网站优化培训
  • 如皋做网站公司营销咨询
  • wordpress取消置顶关于seo如何优化
  • 谷城网站定制棋牌软件制作开发多少钱
  • 弹性云主机做网站运营怎么做
  • 学做网站需要多久哈尔滨企业网站seo
  • 网站开发目录结构天津网站优化软件
  • 做破解网站合法微信营销推广方案
  • 易思腾网站建设武汉网站建设方案优化
  • wordpress 关键词屏蔽优化公司哪家好
  • 网站没有备案时网页设计模板图片
  • 如果建设管理运营一个网站无锡百姓网推广
  • pc开奖网站建设全网营销推广系统
  • 网页设计模板网seo赚钱吗
  • 购物帮做特惠的导购网站cpc广告点击日结联盟
  • wordpress 图片加载合肥seo按天收费
  • 怎样做网站的外链搜索引擎优化的工具
  • 丽水公司做网站网站优化seo
  • 地下城钓鱼网站如何做优秀网站seo报价
  • 免费有限公司网站企业危机公关
  • 西湖网站建设seo优化推广流程