动态规划笔记

动态规划特点计数-有多少种方式从一点到一点-有多少种方法选出k个数使得和是Sum求最大最小值-从左上角走到右下角路径的最大数字和-最长上升子序列长度求存在性-取石子游戏,先手是否必胜-能不能选出k个数使得和是Sum先贴代码:package LinkCode; public class Solution { /** * @param A: a list of integer * @param M: a total M of money M * @return: the fewest number of A that you need to make ...

Java 2021-05-28 PM 47℃ 0条

Java实现二叉树

用Java实现的时候一般对照着C的代码来写,写的时候有一些问题。根节点信息丢失在运行CreateTree函数无误,但是在进行各种排列时只能显示根节点,左节点和右节点的值并没有被保存,通过排查发现函数中在进行递归插入左右节点的时候直接使用了node.leftnode,问题就出现在这里,这个node。leftnode是TreeNode类型,并没有初始化需要先new一下。各种排序会出现0的状况其实这个问题就是上面的方法产生的,在插入左右结点之前就创建了左右结点,以后有时间优化一下,这里的解决方案有屏蔽结点值为0,运行结果就是下面的了,我觉得写个函数删除一下应该也可以代码:package Tre...

Java 2021-05-28 AM 65℃ 0条

Java 二分查找

二分查找代码:package search; import java.util.Date; public class T1 { public static void main(String[] args) { int[] nums = new int[200000000]; init_data(nums); long startTime = System.nanoTime(); int index = binarySearch(nums,99999997); //int index = norma...

Java 2021-05-27 PM 65℃ 0条

LeetCode 拨号

这段代码还是挺有纪念意义的,从5.20到今天5.26晚上差不多一周时间,几乎把迷宫问题写烂了,但还是远远不够,甚至现在有点分不清dfs和bfs了,刚看了一下总结:dfs:有回溯的就是说在函数里调用了自己后把之前的状态修改回来 bfs基本上就是使用了队列。废话不多数,接下来是LeetCode中的一道题,好像是45题左右。题目是这样的:一个九键输入法,每个按键上有对应的英文数字,现在输入任意的数字,求组合后的按键序列。这道题比较像bilibili一个大神讲的递归ABC排列组合,这次代码一次跑通太开心了,上代码代码:import java.util.Stack; public class T...

Java 2021-05-26 PM 55℃ 0条

Java实现图的存储

代码:package maze; public class Main { public static void main(String[] args) { int graph[][] = {{0,1,3,4,7},{1,0,2,99999,99999},{3,2,0,5,8},{4,99999,5,0,6},{7,99999,8,6,0}}; MatGraph g = new MatGraph(); CreateGraph(g, graph, 5, 5); DisGraph(g); Prim(g,0...

Java 2021-05-26 PM 64℃ 0条