
数据结构与算法
红鲤鱼与彩虹
这个作者很懒,什么都没留下…
展开
-
morris遍历二叉树 --空间复杂度O(1)
前序遍历二叉树,额外空间复杂度为O(1),条件搜索, morris遍历思路: 来到的当前节点记为 cur,1.如果cur左节点为null,cur向右移动 cur = cur.right2.如果cur左节点不为null,找到左子树上最右的节点,记为mostRight 1)如果mostRight的右节点指向null,让其指向cur,cur向左移动 cur = cur.left ...原创 2020-03-28 19:59:38 · 345 阅读 · 0 评论 -
求两数的最大公约数 -- 辗转相除法
直接给出结论:x 和 y的最大公约数 可以转为 x%y 和 y的最大公约数 (当然也可以y%x 和 x的最大公约数),这样依次递归,直到 x%y==0便取得最大公因数y。下面给出一个最大公约数可以解决的问题:来自leetcode/** * 给定一副牌,每张牌上都写着一个整数。 * 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: * 每组都有 X 张...原创 2020-03-27 22:23:33 · 318 阅读 · 0 评论 -
暴力递归如何转化为动态规划--以找零钱为例
题目来自牛客网:给定数组arr,设数组长度为n,arr中所有的值都为正整数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim,代表要找的钱数,求换钱的方法数有多少种。由于方法的种数比较大,所以要求输出对10^9+7进行取模后的答案。import java.io.BufferedReader;import java.io.IOException;impor...原创 2020-03-22 00:19:01 · 506 阅读 · 0 评论