
算法
文章平均质量分 53
水巷石子
大道至简
展开
-
leetcode70(难度:简单)爬楼梯
题目:假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶这个是典型的动态规划问题当n小于2的时候,结果就是n。当n大于2的时候,当n=3的时候,等于n=2原创 2021-04-16 18:02:02 · 245 阅读 · 2 评论 -
排序算法的介绍
排序算法的介绍排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。排序的分类:内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序。外部排序法:数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。常见的排序算法分类(见图):...原创 2020-09-14 21:21:40 · 2908 阅读 · 2 评论 -
递归的定义
递归的定义在高级语言中,函数调用自己和调用其他函数并没有本质的不同。我们把一个直接调用自己或通过一系列的调用语句间接地调用自己的函数,称作递归函数。不过,写递归程序最怕的就是陷入永不结束的无穷递归中。切记,每个递归定义必须至少有一个条件,当满足这个条件时递归不再进行,即函数不再调用自身而是返回。迭代和递归的区别是:迭代使用的是循环结构,递归使用的是选择结构。使用递归能使程序的结构更请晰、更简洁、更容易让人理解,从而减少读懂代码的时间。但大量的递归调用会建立函数的副本,会消耗大量的时间和内存,而原创 2020-09-12 16:04:07 · 15125 阅读 · 2 评论 -
斐波那契数列---兔子繁殖题
斐波那契数列—兔子繁殖题如果说兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。假设所有兔子都不会死去,能够一直干下去,那么一年以后可决繁殖多少对兔子呢?斐波那契数列的迭代实现我们都知道兔子繁殖能力是惊人的,如下图:所经过的月数123456789101112兔子的总对数1123581321345589144我们可以用数学函数来定义:找出了规律后,再利用递归,问题就迎刃而解了代码如下:package原创 2020-09-12 15:22:13 · 17761 阅读 · 1 评论