首页 > 其他 > 详细

寒假 3

时间:2018-02-01 22:51:26      阅读:256      评论:0      收藏:0      [点我收藏+]

1.  数组作为函数参数:

  • 形参是指针和数组长度,或首尾指针。
  • 实际参数是数组,形参应该是指针

 

 

 

2.  trapping rain water算法改进:

  1. 计算每个bar的存水量(对每个bar,扫描左右bar的高度,得到左右最高,计算存水量),时间n2,空间1
  2. 改进:计算每个bar的存水量(分别从左右扫描数组,用两个数组记录每个位置的左最高和右最高,结合后得到每个bar的左右最高),时间n,空间n
    • 一种技巧,适用于某元素的所求量需要左右元素确定的问题。整体扫描可以把时间复杂度化为n。
  1. 改进:计算每个bar的存水量,还是需要两两边的高度。两遍夹逼,空间复杂度从2n降到n。

 

 

评估算法的复杂度,尝试不同的算法。

 

 

3.  双指针

c语言的函数调用:本质是代码块之间的双向数据传递和执行控制转移。数据传递通过参数和返回值进行,由于函数参数和局部变量都通过栈来操作,(而不是全局区)所以传递的是原数据的值的副本,无法改变原值。(全局区内的变量就可以改变)  

如果想要改变,需要传递数据的地址,通过取值改变取值过程实现。不管这个数据是什么类型。例:如果要改变一个指针,就要传递双指针。

 

寒假 3

原文:https://www.cnblogs.com/guguclaire/p/8401502.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!