
代码
自省
周月亮
世界要你考取功名,但是真诚才是最大本领。
展开
-
关于二分查找边界取值总结的一些规律以及容易犯错误的地方
力扣719题。 突破口:第K个最小距离,找到次数与最小距离的对应关系,用mid来表示最小距离,上界是排序后的最后元素减去第一个元素。下界是第二个元素减去第一个元素。 if(count>k){ //需要排除 //求出的数对差值大了,需要往下界走,[left,mid-1] right=mid-1; }else{//注意这样的写法,等号的情况写在这个分支里,会造.原创 2020-06-03 16:47:28 · 464 阅读 · 0 评论 -
背包问题
01背包问题 题目 有N件物品和一个容量为V的背包,第i件物品的费用是c[i],价值是w[i],求解将哪些物品装入背包可以使得价值总和最大。 思路 01背包问题是最基础的背包问题,特点是每种物品仅有一件,可以选择放或者不放。 用子问题定义状态,即f[i][v]表示前i件物品恰好放入一个容量为v的背包可以获得的最大价值,状态转移方程是:f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]},逗号前面是选择不放入第i件的情况。逗号后面是选择放入第i件的情况。 优化空间复杂度 空间复原创 2020-05-20 16:59:02 · 377 阅读 · 0 评论 -
leetcode学习中的小知识点
LinkedList的peek()得到的第一个元素,是出队的第一个,即左边的第一个。原创 2020-05-19 11:48:53 · 1183 阅读 · 0 评论 -
二叉树递归的思想
/* 当遇到关于树的问题。先思考两个问题: 1.能确定一些参数,从该节点本身出发去解决问题吗 2.能够使用这些参数和节点的值确定出什么是应该传递给子节点的值吗 如果两个问题都是肯定,那么采用自顶向下的递归。 否则,如果是对于树中的任意节点,知道了子节点的结果,怎么确定出该节点的结果。就是自底向上递归的思路。 */ package primary_class; public class Test{ //自顶向下递归求二叉树的深度 public int maxDepth; public原创 2020-05-09 15:11:42 · 622 阅读 · 0 评论 -
二叉树和N叉树的遍历框架
//N叉树的遍历框架 class TreeNode{ int val; TreeNode[] children; } void traverse(TreeNode root){ for(TreeNode child:root.children){ traverse(child); } } //二叉树的遍历框架 class TreeNode{ ...原创 2020-05-08 16:55:21 · 379 阅读 · 0 评论 -
输出字符串中的所有最长回文串(相同长度的全部输出)
package primary_class; import java.util.ArrayList; import java.util.List; public class Test{ //求一个字符串里的所有最长回文串,相同长度的全部输出 public static List<String> getString(String s){ if(s==nul...原创 2020-05-08 15:17:55 · 316 阅读 · 0 评论 -
用动态规划来代替KMP算法
package primary_class; public class Test{ //用动态规划来代替KMP算法,str1中是否含有str2,并且返回起始下标 public static int search(String str1,String str2){ if(str1==null||str1.length()<1||str2==null||str2....原创 2020-05-08 11:38:31 · 270 阅读 · 0 评论 -
程序上遇到的问题总结
/* * 存在两个问题:一个是程序没看懂,一个是第二种解法中出现的堆栈溢出的问题 */ package advanceClassCode; //BFPRT算法实现在无序数组中找到第k小的数 public class Code_06_BFPRT { // O(N*logK)堆排序,K个结点组成的树高度是logK,这种复杂度的解法没有看懂???????????? public static ...原创 2020-05-07 08:59:16 · 461 阅读 · 0 评论