斐波拉契数列 :1、1、2、3、5、8、13、21、34…… 经过查资料掌握了三种斐波拉契数列的计算方法: 1.使用递归,也是最容易理解的,但是在递归的过程中有重复计算项导致计算效率极低,而且消耗…
分类:递归
(剑指Offer)面试题45:圆圈中最后剩下的数字
题目: 0,1,…n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字,求出这个圆圈里剩下的最后一个数字。 思路: 1、环形链表模拟圆圈 创建一个n个节点的环形链表,然后每次在这个链表中删…
(算法)Binary Tree Max Path Sum
题目: Given a binary tree, find the maximum path sum. For this problem, a path is defined as any sequence of nod…
Python全栈之路系列之递归
所谓递归其实就是函数本身调用函数,直到满足指定条件之后一层层退出函数, 例如 从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?“从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故…
(算法)Word Break
题目: Given a string s and a dictionary of words dict, determine if s can be segmented …
(笔试题)最小的非“重复的数”
题目: 给一个定义:对一个整数,若其中存在相邻两位上的数字相同,则称其为“重复的数”;现给定一个正整数n,求不小于n的最小的非“重复的数”。 思路: 假设输入的数为n,则令m=n, 分别取m的最低两位数字a,b, 判断是…
(剑指Offer)面试题39:二叉树的深度
题目: 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 结点的定义如下: struct TreeNode{ int val; TreeNode* …
(剑指Offer)面试题19:二叉树的镜像
题目: 操作给定的二叉树,将其变换为源二叉树的镜像。 二叉树的定义如下: struct TreeNode{ int val; TreeNode* left; TreeNode* right; }; 输入描述:…
(算法)Hanoi Problem汉诺塔问题
Problem: There are three poles and N disks where each disk is heaver than the next disk. In the initial congur…
(剑指Offer)面试题9:斐波那契数列
题目: 现在要求输入一个整数n,请你输出斐波那契数列的第n项。 斐波那契数列的定义: f(0)=0;f(1)=1; f(n)=f(n-1)+f(n-2) 思路: 1、递归: 根据递推公式来实现 优点:代码简单,易懂 缺点…
(算法)判断字符串中是否包含HelloWorld
题目: 给定某字符串,判断该字符串中是否包含HelloWorld,出现HelloWorld不一定要连续,但顺序不变,如“HeByello,ByeWorByeld”就包含“HelloWorld”。 思路: 通过i,j来遍历…
(剑指Offer)面试题11:数值的整数次方
题目: 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 思路: 看题目似乎很简单,循环相乘不就行了吗?不是的。 需要考虑几个问题: 1、exponent为0…