摘要: 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 解法:使用数学归纳法可得,跳n级台阶的跳法一共有f(n)=2n-1中,即本问题要求求解2的n次方,使用位左移运算实现 C++实现代码: class Solution { publ 阅读全文
posted @ 2019-09-29 23:35 fancy_li 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 问题分析 我们将跳法个数y与台阶数n视为一个函数关系,即y=f(n)。首先从第一级开始,当n=1时,只有一种跳法,即f(1)=1。当有两级台阶时,有两种跳法,跳两个一阶, 阅读全文
posted @ 2019-09-29 23:20 fancy_li 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 C++实现: c 阅读全文
posted @ 2019-09-29 22:17 fancy_li 阅读(97) 评论(0) 推荐(0) 编辑
摘要: singleton模式属于创建型设计模式。其作用是在程序设计中,对于某一个类而言,全局只能存在一个实例对象。 下面以C++为例,对单例模式进行说明: 1. 最基本单例模式(单线程) 存在问题:在单线程下,只有instance == null 时,才会创建新对象,其余时间返回。但是对于多线程访问时,当 阅读全文
posted @ 2019-09-29 11:42 fancy_li 阅读(199) 评论(0) 推荐(0) 编辑