自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 三数和问题

也就是说问题变为了在除去当前元素a的数组中找到两个元素和为target-a问题也就变为了两数之和问题,此时我们当然也可以继续通过循环遍历去暴力解,但时间复杂度上将会和第一个想法一样没有得到减少,因此我们可以想一想如何两数之和其他的解题方法。此时时间复杂度达到了o(n**3)这个时间复杂度是很高的,因此我们想一想能不能进一步优化,此时我们可以参考两数之和的问题。此处可能大家会有点疑惑,为什么我们减去当前元素之后,进行两数之和的操作是不需要进行对当前元素,之前的元素进行遍历。此处:1+3+5=12。

2023-12-21 12:06:44 376 2

原创 汉诺塔问题来反映递归的本质,及如何理解汉诺塔问题的代码

我们不妨想一想我们要将n个盘子(最上方的盘子为n)移动到目标柱上,则需要先将前面的n-1个盘子都要移动到目标柱上去,而要完成这个条件,我们需要将前面n-2个盘子移动到目标柱上去,以此类推下去我们的最后事情的规模将变成F(2)=F(1)+2,而F(1)便是我们该次递归的出口,这便很好的展现了递归的本质(将一个大的事情的规模不断缩小)。此时的事情规模已经完全变成了我们可以手动画出来的形态,我们可以将F(2)看作F(n),F(1)看作F(n-1),2看作n。

2023-09-27 22:25:56 224

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除