
算法
文章平均质量分 72
祚儿疯
向阳而生
展开
-
子数组问题
子数组的问题在面试中非常多,这里收集了一些子数组的问题,做一个总结:1.连续子数组最大和2.数组中最大连续递增子数组3.数组中非连续最大递增子数组和4.累加值为k的最长子数组,累加值不大于k的最长子数组1. 连续子数组最大和http://dsqiu.iteye.com/blog/1701494连续子数组最大和,又叫最大子序列和或最大数组和,不过这里的序列好像有点不是很妥。1....原创 2018-11-09 10:15:00 · 1823 阅读 · 0 评论 -
leetcode回溯法总结
2018.7.30前文:回溯法和dfs是不一样的,回溯法有自己很独特的模板,dfs是一种思想,回溯法是dfs的一种实现。先来看回溯法的典型题型:Find a path to success 有没有解Find all paths to success 求所有解1.求所有解的个数 2. 求所有解的具体信息Find the best path to success 求最优解对应的三...原创 2018-12-07 20:39:51 · 389 阅读 · 0 评论 -
DP问题总结
对DP问题的类型做一个总结,以leetcode上的题目为例:1.简单的递归,例如斐波拉契的序列进行递归(1) 第一种是比较简单的, 直接地按照上面步骤就可以解出来的, 确定递归量, 然后按递归式迭代就可以得到。 这种类型的题目是: Climbing Stairs,Decode Ways和Unique Binary Search Trees。Climbing Stairs中递推量很清晰, 就是...转载 2018-11-09 10:15:59 · 444 阅读 · 0 评论 -
面试常见算法总结
这一篇博客主要是对面试过程中经常问到的一些算法题型做一个总结,后面会有几篇专门的文章对每一个类型的算法进行总结。总结:有几个题很相似,但是解决的方法不同:1.topk问题,例如:海量数据中找第k个大的数——类排序,外部排序求数据流的中位数——类排序,最大堆最小堆2.树的遍历,镜像,相同树的层次遍历树的镜像判断树的相同判断3.链表快慢指针的遍历链表环的寻找链表倒数k的节点的选...原创 2018-11-08 16:03:35 · 900 阅读 · 0 评论 -
《算法导论》常见算法总结
前言:本篇文章总结中用到很多其他博客内容,本来想附上原作链接,但很久了未找到,这里关于原创性均来源于原作者。分治法分治策略的思想:顾名思义,分治是将一个原始问题分解成多个子问题,而子问题的形式和原问题一样,只是规模更小而已,通过子问题的求解,原问题也就自然出来了。总结一下,大致可以分为这样的三步:分解:将原问题划分成形式相同的子问题,规模可以不等,对半或2/3对1/3的划分。解决:对于...原创 2018-11-08 15:51:55 · 35111 阅读 · 3 评论 -
算法导论总结
算法这块主要分为了两个部分学习:1、《算法导论》基本算法学习2、具体常见算法总结。这一篇文章,主要给出《算法导论》这本书的基本算法的学习,对于这本书,阅读起来难度较大,我采用的是对应一些讲解博客,逐步慢慢吃透。我在学习的过程中记录了一些比较粗糙的笔记,这里分享出来,链接如下:http://note.youdao.com/noteshare?id=90c4057fdcaec1c7b58d8f...原创 2018-11-08 14:53:06 · 4726 阅读 · 5 评论 -
leetcode分类总结
工作时间还刷了一点leetcode,发现了一篇好的博客,对leetcode的题目进行分类总结,按照博客的分类总结,可以更好的理解算法的切入点。一些笔记(原博客链接):http://note.youdao.com/noteshare?id=d3f79c6ccb9ea9c64edd0484dfa2e771...转载 2018-11-09 15:40:11 · 2153 阅读 · 0 评论 -
《剑指offer》算法总结
最近找工作,刷了下《剑指offer》这本书,上面有挺多经典的算法,对每一章做了一个总结,章节笔记见一下链接:http://note.youdao.com/noteshare?id=ad655fcf73eb4b63e7e0700daa01d02f下面是对整本书的一个算法,从数据结构上进行分类,这样拿到算法题的时候知道从哪一个类别去思考相似的可能性。一、线性表1、数组2、链表二、字符串三...原创 2018-11-09 15:32:47 · 4758 阅读 · 0 评论 -
海量数据处理面试题集锦
前言    本博客内曾经整理过有关海量数据处理的10道面试题(十道海量数据处理面试题与十个方法大总结),此次除了重复了之前的10道面试题之后,重新多整理了7道。仅作各位参考,不作它用。    同时,程序员编程艺术系列将重新开始创作,第十一章以后的部分题目来源将转载 2018-11-09 10:18:10 · 203 阅读 · 0 评论 -
字典序输出
这一类的题目在面试中的算法是比较常见的,这里也自己做一个总结1.输入一个数字n,输出从1~n组成的数字的全排列,每个排列占一行,输出按照数值升序排列https://blog.youkuaiyun.com/desirepath/article/details/50447712从数组的末尾开始,首先找到第一个升序的数字对,然后交换这个数字对,然后从这个数字对开始,按照生序交换后面的所有数字。2…将1~...原创 2018-11-09 10:17:16 · 5638 阅读 · 0 评论 -
数组中重复数字的问题
数组中重复数字的问题也比较多,也对这一类问题做个总结:判断数组中是否有重复的数字,并给出第一个重复的数字题目描述 https://www.cnblogs.com/leo-chen-2014/p/3749281.html在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。例如...原创 2018-11-09 10:16:40 · 502 阅读 · 0 评论 -
位域
2018.7.23C 结构体位域位域 :有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 ...原创 2018-12-07 20:47:54 · 195 阅读 · 0 评论