- 博客(6)
- 收藏
- 关注
原创 冒泡排序算法直观体现(Python)
冒泡排序算法(Python) 算法描述 “冒泡”的直观感受 若原始数组如下: 5在数组元素的最上面,3在数组元素2点上面 元素5的下沉排序(初始:5、1、3、2) 1.5>1,故数组元素顺序变为:1、5、3、2 2.5>2,故数组元素顺序变为:1、3、5、2 3.5>2,故数组元素顺序变为:1、3、2、5 元素3的下沉排序(初识:1、3、2、5) 1.3>2,故数组元素顺...
2020-02-25 18:31:53 190
原创 二分查找法查找旋转数组的最小值(Python)
二分查找法与旋转数组最小值(Python) 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 例:非递减排序数组为1,2,3,4,5 输入的旋转数组为3,4,5...
2020-02-25 17:19:46 832 1
原创 用两个栈实现队列(python)
用两个栈实现队列 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 算法分析 算法流程 Python语言语言前提下,定义两个列表(相当于C++中的堆栈),其中acceptStack列表(先进后出)用来存放输入的数据,putoutStack列表(先进后出)用来存放输出的数据。在C++中,堆栈的特征是先进后出,而队列的特征是先进先出,若用acceptSt...
2020-02-24 15:17:00 195
原创 二维数组中的查找算法的时间优化(python列表)
二维数组中的查找算法的时间优化(python列表) 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数(target),判断数组中是否含有该整数。 输入示例 1 2 3 4 3 4 5 6 4 6 8 10 9 11 13 15 一、时间复杂度为O...
2020-02-23 23:37:54 818
原创 青蛙跳台阶和变态跳台阶
青蛙跳台阶和变态跳台阶(python、剑指Offer) 一、题目描述 青蛙跳台阶题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 变态跳台阶题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 二、青蛙跳台阶算法 类似于Fibonacci数列的算法问题...
2020-02-23 21:03:45 669
原创 Fibonacci的递归实现与循环实现的区分
Fibonacci的递归实现和循环实现 (Python语言、牛客网剑指Offer) 题目 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 递归调用的指数级复杂度 递归调用实现Fibonacci数列采用的自顶向下的算法模式,利用 f(n) = f(n-1) + f(n-2),每次递归调用上一次的两个Fibonacci(...
2020-02-23 16:41:17 202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人