暴力法
Liukairui
这个作者很懒,什么都没留下…
展开
-
数据结构9-双指针(尺取法)(double pointer)
双指针有好几种,但是最常用的是尺取法,所以有的时候就说尺取法 双指针,指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向(快慢指针)或者相反方向(对撞指针)的指针进行扫描,从而达到相应的目的。 分类有奇奇怪怪的几种,我写了三种 1.对撞指针(除了二分没啥用) 最经典的应用是二分 最最朴素的对撞指针就是 function fn (list) { var left = ...原创 2020-03-02 13:53:21 · 866 阅读 · 0 评论 -
二进制枚举子集
二进制枚举子集 定义:用二进制的一位表示集合对应某一元素的选取状态,1表示选取,0表示未选取。 位的逻辑运算符:位运算是对二进制的每一位进行计算,所以每一位只有0或1两种可能。常用的位运算符:与 & 、或 | 、异或 ^ ,运算规则 与运算:两者都为1时,结果即为1,否则为0 。 或运算:两者都为0时,结果即为0,否则为1。 异或运算:是两者同为0或1时,结果即为 0,否则为1 ...原创 2018-03-03 12:33:28 · 1043 阅读 · 0 评论 -
二分法 & 三分法
做了好几个二分的题目了,写个总结 考虑把这个词典从中间分开,看一下中间那一页的主要单词都是啥,然后去判断我要找的单词应该在左半部分还是右半部分,再去那一部分考虑怎么找就好了。同样的,在另一部分也是要进行划分并且判断的操作。这样一直进行下去,便能很快的找到答案,而且根本不需要翻过整个词典来。 可以证明,如果一页一页的找,最多要找n次,但是用这个方法,最多找floor(log2n)次。 我们把这...原创 2018-07-31 07:20:54 · 971 阅读 · 0 评论
分享