摘要: 前言 今天使用二分查找,有一个需求是找到一个有序数组中值 x 最左边的位置,于是乎我 pia pia 写下了几行代码,然后一看题解,发现了python一个神奇的模块:bisect ,在此做一下记录。 模块:bisect 一旦决定使用二分搜索时,立马要想到使用这个模块。使用方法如下: import b 阅读全文
posted @ 2020-06-14 10:22 r1-12king 阅读(451) 评论(0) 推荐(0)
摘要: 一、基础 1、 定义节点类 # Definition for a binary tree node. class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None 2、给定一张图 二、基础 阅读全文
posted @ 2020-06-13 11:31 r1-12king 阅读(410) 评论(0) 推荐(0)
摘要: 1、概念 位图法就是bitmap的缩写,所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断某个数据存不存在的。 我们知道一个1G=1024M,1M=1024K,1K=1024byte,1byte=8bit,所以1个字节等于8bit,也就是8个二 阅读全文
posted @ 2020-06-04 15:16 r1-12king 阅读(254) 评论(0) 推荐(0)
摘要: 1、题目 给定一个整数,统计其二进制表示里有多少个1。 2、分析 方法1:循环迭代该数的二进制的每一位,复杂度是 o(log2 n),n就是该整数 def count1(num): lens = 0 while num != 0: lens += num & 1 num = num >>= 1 re 阅读全文
posted @ 2020-06-04 11:43 r1-12king 阅读(247) 评论(0) 推荐(0)
摘要: 1、问题 分割 " abcdefg dj kshs vkjs ",以空格做分割符,多余的空格删除 2、做法 str.split(" ")# ['', 'abcdefg', '', '', '', '', 'dj', 'kshs', '', '', '', 'vkjs', ''] 这显然不是我们想要的 阅读全文
posted @ 2020-06-04 08:20 r1-12king 阅读(9634) 评论(0) 推荐(0)
摘要: 思路: 通常我们进行二叉树的遍历(前序遍历、中序遍历和后序遍历)时,不考虑空节点。但有时需要我们将空节点也放入遍历序列中。 由于考虑了空节点,不能再用是否为空作为递归结束的条件。容易想到,只要一个节点非空,并且它的左右叶节点不同时为空,则其左右叶节点均要被遍历。这样我们就得到了考虑空节点的遍历。 以 阅读全文
posted @ 2020-05-31 11:21 r1-12king 阅读(760) 评论(0) 推荐(0)
摘要: 1、分类 单调递增栈:数据出栈的序列为单调递增序列 单调第减栈:数据出栈的序列为单调递减序列 2、操作(以单调递增栈为例) 如果新元素比栈顶元素大, 入栈 如果新元素比栈顶元素小,栈顶元素出栈,直到栈顶元素小于该元素,入栈该元素 3、示例 例如,给定一个序列 [ 1, 3, 5, 2, 4 ],当1 阅读全文
posted @ 2020-05-30 21:04 r1-12king 阅读(251) 评论(0) 推荐(0)
摘要: 1、思想 通常,涉及连续子数组问题的时候,我们使用前缀和来解决。 我们令$P[i]=A[0]+A[1]+\ldots+A[i]$,那么每个连续子数组的和$\operatorname{sum}(i, j)$ 就可以写成 $P[j]-P[i-1]$(其中 0 < i < j)的形式。 2、应用 a、和为 阅读全文
posted @ 2020-05-27 12:11 r1-12king 阅读(392) 评论(0) 推荐(0)
摘要: 1、快排 基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 2、过程(引至快速排序) 给出第1趟快速排序的流程。在第1趟中,设置x=a[ 阅读全文
posted @ 2020-05-25 16:44 r1-12king 阅读(700) 评论(0) 推荐(0)
摘要: 1、背景 给定一个字符串text,和一个模式串pattern。让你判断text是否包含pattern,如果包含,则返回text中出现pattern的第一个字符的坐标。否则返回-1。如果pattern是空字符串(长度为0),则返回1 例如,给定两个字符串: S="BBC ABCDAB ABCDABCD 阅读全文
posted @ 2020-05-19 14:55 r1-12king 阅读(507) 评论(0) 推荐(0)