算法
文章平均质量分 74
欧阳惜竹
此生无悔
展开
-
算法总结-动态规划(持续更新)
参考:https://mp.weixin.qq.com/s/xQ2cxyGg_vjviU17P1WUfQ简述动态规划算法具有时间效率较高,代码量较少的特点,可以考察思维能力、抽象能力以及灵活度,该算法的身影常常出现在面试、笔试或者竞赛中,今天对该算法进行总结并对面试等场合中常出现的题目进行分析。1、动态规划定义与理解动态规划(Dynamic Programming,简称DP),把多阶段过程...原创 2019-05-13 09:31:24 · 622 阅读 · 0 评论 -
算法总结-栈(正在更新)
参考:https://mp.weixin.qq.com/s/ND6EZwYATCXvW0VJvE-oUg文章目录简述栈的特点和应用场景栈的特点:栈的常见应用场景:实例解析题目1:使括号有效的最少添加方法1方法2题目2:子数组的最小值之和简述栈是一种运算受限的线性表,仅能在线性表的一端操作,允许操作的一端叫栈顶,栈底不允许操作,栈具有先进后出的特点,作为一种常见的抽象数据类型,在工作、面试、以...原创 2019-05-14 08:38:46 · 165 阅读 · 0 评论 -
算法总结-正则表达式(正在更新)
参考:https://mp.weixin.qq.com/s/p14iXJ77mLG2BYe8gcqhfA文章目录简述java.util.regex 包的主要组成(1)Pattern 类:(2)Matcher 类:(3)PatternSyntaxException:正则表达式的常见语法实例解析题目1:正则表达式匹配题目2:特殊需求表达式题目3:JAVA正则表达式regex中方法的使用简述正则表...原创 2019-05-13 12:36:35 · 258 阅读 · 0 评论 -
算法总结-堆(正在更新)
参考:https://mp.weixin.qq.com/s/IjY6BZvcElt7shSv_PjOMQ文章目录简述实例解析题目1:数组中的第 K 个最大元素方法1(排序)方法2(堆)方法3(快排)题目2:有序矩阵中第K小的元素方法1:利用二分查找方法2:利用堆结构实现简述堆(Heap)是一种重要的数据结构,是实现优先队列(Priority Queues)首选的数据结构,作为一种常见的抽象...原创 2019-05-14 08:39:04 · 209 阅读 · 0 评论 -
算法总结-树(正在更新)
参考:https://mp.weixin.qq.com/s/5HNohRY3sO5Yzr3JJvNnlA文章目录简述树的基本概念的组成树的基本概念(1)节点(2)根节点(3)子树(4)节点的度(5)叶子节点(也称叶节点、终端节点)(6)父节点(双亲节点)(7)兄弟节点(8)树的度(9)节点的层次(10)树的高度、深度(11)有序树和无序树树的种类(1)二叉树(2)满二叉树(3)完全二叉树(4)平...原创 2019-05-14 08:39:19 · 201 阅读 · 0 评论 -
算法总结-图(正在更新)
参考:https://mp.weixin.qq.com/s/A4ogzRG5AFMLer5HyNFMFg文章目录简述图的定义(1)无向图(2)有向图(3)完全图图的存储结构图的搜索(1)深度优先搜索(Depth First Search)(2)广度优先搜索(Breadth First Search)实例解析题目1:最小高度树题目2:重新安排行程简述图是一种重要的数据结构,属于一种复杂的非线性...原创 2019-05-14 08:39:31 · 212 阅读 · 0 评论 -
数1
文章目录一、位移法二、求与法三、查表法四、二次查表法五、总结连接:https://mp.weixin.qq.com/s/A3dLW92SNag8lw7vrQiEHQ例如:uint32_t i=58585858;i的二进制表示是:0000 0011 0111 1101 1111 0011 0000 0010于是,i的二进制表示包含15个1。到底有几种方法,这些思路里蕴含的优化思路究竟是...原创 2019-08-12 19:23:51 · 179 阅读 · 0 评论 -
汉诺塔问题-经典递归问题
原题有一个老和尚想把n个盘子从A座移动到C座(还有B座),但每次只允许移动一个盘子,且移动过程中在3个座上都始终保持大盘在下,小盘在上。在移动过程中可以利用B座,要求编程打印出移动的步骤。思路想一想,如果是三个盘子怎么办?(假设最小的编号为1,第二小的编号为2…)步骤一:将A座上2个盘子借助C移动到B座1.1. 将A上1号从A移动到C座。1.2. 将A上2号从A移动到B座。1.3...原创 2019-09-21 20:42:30 · 1263 阅读 · 0 评论 -
算法总结-链表(正在更新)
参考:https://mp.weixin.qq.com/s/mpXLtn0iQam80sFA8QG7vw文章目录简述链表的特点和适用场景链表特点链表适用场景实例解析题目1:旋转链表题目2:反转链表题目3:环形链表简述链表是一个重要的数据结构,常见的链表又分为单向链表和双向链表,各自都有很多应用场景。下面一起来看看吧:链表的特点和适用场景链表特点(1)链表是一种特殊的存储结构,物理存储空...原创 2019-05-13 12:18:11 · 195 阅读 · 0 评论 -
算法总结-字典树(正在更新)
参考:https://mp.weixin.qq.com/s/gv2u3lUC6m9iIAm8Uszz2w文章目录简述字典树的定义与理解定义和特点适用场景基本性质题目1:实现字典树的常用场景题目2:回文对(leetcode难度系数:困难)简述字典树是一种重要的数据结构,常常用于处理大量的字符串,在数据存储以及查询方面都具有优势。下面一起来看看吧:字典树的定义与理解定义和特点字典树,有时也...原创 2019-05-13 12:14:02 · 184 阅读 · 0 评论 -
算法总结-回溯算法(正在更新)
参考:https://mp.weixin.qq.com/s/P5ojqp_1zxG7qqbpzXK3Lg文章目录简述1. 回溯算法定义与理解2. 面试中常见的回溯算法问题题目1:括号生成解法1:暴力求解解法2:回溯算法题目2:全排列题目3:复原IP地址简述在许多复杂的、规模较大的场景都可以使用回溯算法来解决问题,有**“通用解题方法”**的美称,该算法的身影也常常出现在面试、笔试或者竞赛中,...原创 2019-05-13 09:52:59 · 403 阅读 · 0 评论 -
剑指offer-孩子们的游戏
详细无误版本先说明一下为什么要写这篇博客:原题思路程序先说明一下为什么要写这篇博客:发现讨论区要么有文字错误,要么数字不准确。原题每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列...原创 2019-04-30 10:50:58 · 447 阅读 · 0 评论 -
算法总结-分治算法(正在更新)
文章目录简述1、分治算法定义与理解2、分治算法求解的经典问题汇总(1)二分搜索(2)二维矩阵搜索(3)归并排序(4)快速排序(5)大数相乘(6)汉诺塔(7)最近点对问题3、面试中常见的回溯算法问题题目1:数组中的第K个最大元素解法1:分治思想解法2:小根堆题目2:最接近原点的K个点解法1:分治思想解法2:小根堆简述分治法,从字面上就能得到直接的解释,“分为治之”,即是处事的一种态度,也是解决问...原创 2019-05-13 10:15:59 · 415 阅读 · 0 评论 -
算法总结-逻辑处理(正在更新)
参考:https://mp.weixin.qq.com/s/SttDnAzHzW2C1jMTtvNijQ文章目录简述题目1:Nim游戏题目2:Rand7()实现Rand10()简述这篇推文选取面试中出现的两道有趣算法题进行分析,这个算法题的出现总会带来思维上的剧情反转。下面我们来看看吧。题目1:Nim游戏题目描述:你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉...原创 2019-05-13 10:22:01 · 234 阅读 · 0 评论 -
算法总结-矩阵(正在更新)
参考:https://mp.weixin.qq.com/s/I1lu8cziVhjOrCwgRea-gQ文章目录简述题目1:格子走法总数方法1:递归求解方法2:非递归求解(注:下面代码可左右滑动查看)题目2:矩阵中的最长递增路径简述矩阵类题目常常把思考的维度从一维扩展到二维,需要考虑的边界条件也相应增多,以矩阵为背景的题目大多有动态规划类型、记忆搜索类型、深度优先搜索类型等等。接下来将实例进...原创 2019-05-13 10:31:56 · 211 阅读 · 0 评论 -
算法总结-拓扑排序(正在更新)
参考:https://mp.weixin.qq.com/s/vqJ26hLZyQ9LCGjUAuoAQQ文章目录简述拓扑排序的定义与理解分解条件:1) 一个有向无环图的顶点组成的序列;2) 每个顶点出现且只出现一次;3) 若存在一条从顶点 A 到顶点 B 的路径,那在序列中顶点 A 出现在顶点 B 前面。拓扑排序的经典算法:1) 选择入度为0的节点输出;2) 从有向图中删除此节点以及出边;3) ...原创 2019-05-13 10:55:38 · 502 阅读 · 0 评论 -
算法总结-深度优先搜索(正在更新)
参考:https://mp.weixin.qq.com/s/GOQ6jrbNcCtso8kPizF-XA文章目录简述深度优先搜索的定义与理解基本原则实施步骤:释义:(1) 如何判断起始顶点V的邻接顶点是否被访问过呢?(2) DFS 常用于那些场景?实例解析题目1:从叶结点开始的最小字符串题目2:翻转二叉树以匹配先序遍历简述深度优先搜索属于图形搜索算法,常常用于图和树的遍历,英文缩写为DFS(...原创 2019-05-13 12:04:36 · 500 阅读 · 0 评论 -
算法总结-位运算(正在更新)
参考:https://mp.weixin.qq.com/s/o3pEkayhuMXkl9fp1wA0XA文章目录简述位运算的计算规则和使用示例计算规则:(1)and运算(2)or运算(3)xor运算(4)not运算(5)位移运算使用示例:(1)判断奇偶(2)判断正负数(3)取int a的第k位(4)取相反数(5)不用中间变量交换两个数值(6)取绝对值实例解析题目1:只出现一次的数字题目2:二进制...原创 2019-05-13 12:09:52 · 162 阅读 · 0 评论 -
不可能是快排第n趟排序结果
牛客网址:https://www.nowcoder.com/questionTerminal/3343d3202392467690312db06a4c4c0a下列选项中,不可能是快速排序第2趟排序结果的是 ()A. 4 14 10 12 8 6 18B. 4 6 10 8 12 14 18C. 6 4 10 8 14 12 18D. 8 4 6 10 12 14 18每经过一趟快排,...原创 2019-09-24 20:41:03 · 1730 阅读 · 0 评论