Python算法笔记
算法笔记
随着风儿去流浪
一分耕耘,一分收获
展开
-
从topK问题学习堆栈的思想以及python标准库方式与python实现笔记
题目来源:leetcode703. 数据流中的第 K 大元素从解决题目入手,深入了解学习堆数据结构原创 2021-06-10 22:16:49 · 155 阅读 · 1 评论 -
[剑指offer]矩阵中的路径
使用深度优先搜索算法求解(DFS)原创 2021-05-27 19:29:53 · 92 阅读 · 0 评论 -
[剑指offer]机器人的运动范围
[剑指offer]机器人的运动范围题目来源:牛客网描述:地上有一个rows行和cols列的方格。坐标从 [0,0] 到 [rows-1,cols-1]。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于threshold的格子。 例如,当threshold为18时,机器人能够进入方格[35,37],因为3+5+3+7 = 18。但是,它不能进入方格[35,38],因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?范围原创 2021-05-26 16:29:06 · 148 阅读 · 0 评论 -
[剑指offer]按之字形顺序打印二叉树
层序遍历:利用队列先进先出的特性,与二叉树的层序遍历类似。原创 2021-05-25 17:57:11 · 55 阅读 · 0 评论 -
[剑指offer]对称二叉树
[剑指offer]对称二叉树 使用递归(广度优先搜索算法求解)原创 2021-05-25 16:02:49 · 62 阅读 · 0 评论 -
[剑指offer]二叉树的下一个结点 Python实现
[剑指offer]二叉树的下一个结点 Python实现原创 2021-05-25 15:17:17 · 126 阅读 · 0 评论 -
[剑指offer]删除链表中重复的结点
二叉树--python原创 2021-05-24 21:41:13 · 62 阅读 · 0 评论 -
[剑指offer] 平衡二叉树
使用前序遍历解决该问题,时间复杂度O(N)原创 2021-05-15 18:33:00 · 52 阅读 · 0 评论 -
[剑指offer]二叉树的深度
使用分治法(递归求解)和层序遍历(队列、广度优先)两中方式解决该类问题,时间复杂度O(N)原创 2021-05-14 15:55:46 · 53 阅读 · 0 评论 -
剑指offer[32 把数组排列成最小的数]
剑指offer[32 把数组排列成最小的数]原创 2021-05-10 22:14:46 · 65 阅读 · 0 评论 -
剑指offer[31: 整数中1出现的次数]
剑指offer[31: 整数中1出现的次数]题目描述:输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。例如,1~13中包含1的数字有1、10、11、12、13因此共出现6次。解题思路:将1-n的个位、十位、百位、…的1出现次数相加。即位1出现的总次数。预声明变量:称ni为此时遍历的当前位,记为cur,称n(i-1)n(i-2)··· n2n1为低位(low),称nxn(x-1)···n(i+1)为高位(high),称10^i称为位因子(digit)。讨论各进制位上面的次原创 2021-05-09 21:58:51 · 97 阅读 · 0 评论 -
关于二叉树的三种遍历方式 Python实现
文章目录遍历二叉树的方案1. 使用递归实现()2. 使用栈实现遍历二叉树的方案一颗非空二叉树由根节点和左右子树三个部分构成,在遍历节点顺序上也有以下三种不同的方式。先序遍历:即先访问节点(Node)本身,然后访问左(left subtree)、右子树(right subtree)中序遍历:即先访问左子树、然后再访问节点,最后访问节点。后序遍历:先访问左子树、在访问右子树,最后访问节点。1. 使用递归实现()构建二叉树class Node: def __init__(se原创 2021-04-09 19:33:23 · 1252 阅读 · 0 评论