算法总结
文章平均质量分 82
jacob_007
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法之回溯
排列和组合是两种类型的问题,一开始挺怵这种题,觉得很难,其实都是有模板的,解题的思路都是递归。 然后会说下这种题的一种followup组合问题求一个字符串的所有组合?先假设没有重复元素比如123,它的所有组合有 {},{1},{2},{3},{1,2},{1,3},{1,2,3} 从结果来进行分析,可以转化为 {1} {1,2} {1,2,3} {1,3} 可以理解为先选择1,然后再原创 2016-09-23 21:20:04 · 454 阅读 · 0 评论 -
算法---二分法
二分法可以归为两大类: * 二分查找算法 * 二分排序算法 * 二分合并算法二分查找算法算法中经常用到二分查找算法,比如最常规的应用就是在一个有序数组中找特定的数,但是如何写出一个完整准确的二分法呢,边界条件如何判断,到底是等于还是不等?可能会困恼大家,比如说查找第一个等于5的数,那又在如何查找呢?查找最后一个等于5的数,又该如何改变? 这里有一个公式,可以解决所有这类的问题,它分为四步走:原创 2016-09-21 22:39:33 · 27638 阅读 · 0 评论 -
算法之数组上的左右指针
数组类型的题目是一种非常普遍的题目,根据题目不一样的,解决的策略也有很多,今天主要讲的是采用左右指针和扫描线来解决的题目类型。左右指针左右指针一般用来解决区间内某个值得问题,看上去非常相类似DP问题,但是它和DP又有本质的区别,归纳为有以下两个特点: 一个区间内或者两个元素的最大,最小,和,或者中间值,求区间内的某个数:比如求两个水柱之间最大水量,求window下的中间数,求一个数组指定和的组合 左原创 2016-10-04 21:53:45 · 1581 阅读 · 0 评论 -
线段树
线段树英文叫做segment tree。最近研究了下,发现非常有用,面试中考的也比较多。那什么样的题目可以使用线段树呢?它具有以下几个特点,当遇到这样的题目时,可以考虑用线段树。 求一组区间值 原始数据会发生变化 什么是线段树?线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时原创 2017-02-15 15:49:28 · 515 阅读 · 0 评论
分享