活动介绍
file-type

LeetCode与剑指offer算法题解及常见算法总结

版权申诉
209KB | 更新于2024-09-25 | 44 浏览量 | 0 下载量 举报 1 收藏
download 限时特惠:#14.90
数学实现题 1. 斐波那契数列实现:斐波那契数列是一个非常经典的数学问题,它是这样一个数列:1,1,2,3,5,8,13,21,34,...,其中每一项都是前两项的和。斐波那契数列的实现有多种方法,如递归法,动态规划等。 2. 二分查找:二分查找是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始时一样,从中间元素开始比较。这个过程一直进行到找到了目标元素,或者搜索范围为空。 3. 是否是质数:质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的数。判断一个数是否是质数可以通过判断它是否有除了1和它本身以外的因数来实现。 4. 是否是丑数:丑数是指只包含质因数2、3和5的正整数,换句话说,丑数就是质因数只包含2、3、5的正整数。判断一个数是否是丑数,可以通过判断它是否可以通过不断地除以2、3、5得到1。 5. 是否是2的幂:一个数如果是2的幂,那么它的二进制表示只有一个1,其余都是0。判断一个数是否是2的幂,可以通过判断它与它减去1的结果进行与运算是否为0。 6. 是否是3的幂:一个数如果是3的幂,那么它的三进制表示只有一个1,其余都是0。判断一个数是否是3的幂,可以通过判断它与它除以3的整数部分是否相等。 7. 质数的个数:这是对上面是否是质数问题的扩展,需要计算出小于等于一个给定数的所有质数的数量。 算法实现题 链表相关问题 数组相关问题 二叉树相关问题 5.1 二叉树的深度:二叉树的深度是指从根节点到最远叶子节点的最长路径上的节点数。可以通过递归的方式实现。 5.2 反转二叉树:反转二叉树是指将二叉树中的左右子树进行交换。可以通过递归的方式实现。 字符串相关问题 以上就是LeetCode和剑指offer中的算法题的题目和解法以及常见算法的汇总。

相关推荐