
算法
文章平均质量分 70
方丈的寺院
个人网站@ stone-fang.cn
公众号@方丈的寺院
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
初级算法-动态规划(2)
之前在初级算法-动态规划 一文中少写了动态规划的另外一种解法就是矩阵解法递归问题可以使用非递归的方式表达出来,时间复杂度是O(n),使用矩阵解法时间复杂度O(logn)public static int climbStairs2(int n) { if(n < 1) { return 0; } if (n == 1...原创 2020-02-16 20:43:28 · 2004 阅读 · 1 评论 -
初级算法-动态规划
摘要本篇主要介绍动态规划解题思路概括动态规划主要是解一些递归问题,也就是将递归写成非递归方式,因为编辑器无法正确对待递归,递归方法会导致很多计算结果被重复计算,比如菲波那切数列。所以动态规划的解题思路也就是 1. 列出递归表达式 2. 将递归方法写成非递归方式比如菲波那切数列 F(n) = F(n-1) + F(n-2) 使用两个中间变量存储之前的计算结果,就改写成了非...原创 2018-07-15 17:48:43 · 2411 阅读 · 0 评论 -
初级算法-链表
链表的删除链表的删除就是指针的移动,将待删除节点的指针移动到下一个节点 题1:删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。 虽然我们并不知道,这个节点的前一个节点时什么,但是我们知道这个节点的下一个节点是什么, 将当前要删除的节点替换为下一个节点即可public static void deleteNode(ListNode node) { ...原创 2018-08-05 15:32:38 · 519 阅读 · 0 评论 -
初级算法-树
摘要树的大部分问题都可以通过递归解决,即求一个树的某个值可以转化为求左子树/右子树的值二叉树的最大深度二叉树最大深度就是max(左子树的最大深度,右子树的最大深度) + 1(根节点)public int maxDepth(TreeNode root) { if (root == null) { return 0; } ...原创 2018-08-12 14:52:26 · 2308 阅读 · 0 评论