![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
weixin_44020556
这个作者很懒,什么都没留下…
展开
-
递归函数写法思路,递归控制,递归算法
递归书写方法:每次写递归算法题都会很乱,无从下手,看了https://coding.imooc.com/class/132.html的教程,把里面老师讲的的笔记记录一下,具体可以去看该老师的教程第七章的7-4节1. 严格定义递归函数作用,包括参数,返回值,Side-effect.side-effect指的是我们需要去控制一些出现在函数中的变量的状态,最好确保变量的状态在递归完之后恢复为原来的...原创 2019-07-03 12:20:29 · 417 阅读 · 0 评论 -
堆排序思路和理解
堆排序思路: 1.先把数组中的元素依次传入构造为大根堆2.交换根节点(数组第一个元素)和末尾的叶节点(数组最后一个元素)3. 调整此时交换后的乱序大根堆4. 调整完毕后,重复2,3步骤5. 总结: 通过每次将大根堆中的栈顶元素和末尾元素交换,达到将该栈顶元素排好序的目的,依次 循环。6. 要注意的点:6-1 注意边界值的控制,设置区间[0, heapSize)为大根堆的范围,以此...原创 2019-07-09 10:33:47 · 181 阅读 · 0 评论 -
对递归函数的理解
关键是不要去深究递归的细节,这一部分应该交给计算机来做,我们应该考虑的是1. 缩小问题的规模,数学归纳法。2. 递归函数的设置: 函数返回值是你要得到的结果的最小单位,比如你要创建一个链表,那么返回值就是一个节点,函数的参数即为题目所给出的条件。3. 在假设递归函数成立的条件下思考调用递归函数函数之前要做什么事情,即假设调用递归函数递归完成后必定能达成某个你所期望的结果。4. 考虑边界值。...原创 2019-07-04 11:32:42 · 119 阅读 · 0 评论 -
敏感词算法/优化
/** * @author cj * @date 2019/7/22 * 敏感词过滤 * 词典树/前缀树 * 特殊字符只针对空格或者&*……之类 * 若敏感词中间插字母或数字则无效 */ @Component public class SensitiveUtil impleme...原创 2019-07-23 17:23:43 · 889 阅读 · 0 评论 -
对动态规划理解
无后效性问题:任何到达子问题的路径的过程都不影响当前子问题的返回结果。无后效性问题均能通过动态规划求解(求解步骤):1)先写出暴力递归版本,找出递归函数中的可变参数(可能为一维,二维,三维····),定义解空间(解空间每一个值即为当前状态可变参数下的递归结果)。2)确定最终状态(找出要求解的值在解空间中的位置)。3)根据base case定义初始值4)分析普遍位置依赖于哪些位置5)根据...原创 2019-09-29 11:17:25 · 111 阅读 · 0 评论