- 博客(39)
- 收藏
- 关注
原创 找树的公共祖先类的题
这个题,有点难,容易做的复杂代码先贴在下面,后面有比较好的理解,添上来两次递归。public static TreeNode subtreeWithAllDeepest(TreeNode root) { // 获得各个结点的深度 HashMap<TreeNode, Integer> map = new HashMap<>(); dfs(root, map, 1); // 得到最大深度 int deepest = 0; for (Entry<
2020-05-09 11:54:39
121
原创 二分法的递归与非递归写法
public class Test { public static void main(String[] args) { System.out.println(binarySearchNonRecursive(new int[] {1,4,5,7}, 5)); } // 二分查找递归 public static int binarySearchRecursive(int[] a...
2020-05-07 14:28:27
215
原创 滑动窗口与双端队列的完美合作
标注:1. 个人的习惯是头插。旧值都是pollLast();2. 使用的dueque是LinkedList。3题。无重复字符的最长子串遇见重复的:while(!dueque.isEmpty()&&dueque.contains(s.charAt(right))){ left++; dueque.pollLast();}周赛题,找到最长的子...
2020-05-05 15:25:31
251
原创 前序,中序,后序和层序遍历(Java)的n中写法
class TreeNode{ int val; TreeNode left,right; public TreeNode(int val) { super(); this.val = val; } public TreeNode(int val, TreeNode left, TreeNode right) { super(); this.val = val; t...
2020-05-02 11:02:15
389
原创 刷题日记系列之五月1号
21。合并两个有序链表原来写代码,这个代码写的超长。先有了昨天那个O(1)的题,对于链表,新建head结点,而不是head初始化为null。可以优化代码public class Test { public static ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1==null&&l2==null)r...
2020-05-01 10:47:54
103
原创 刷题日记系列之4月的最后一天
202题。快乐数如果一个数,比如25,循环求他的每一位的平方和。最终等于1的。为快乐数。发现大的数,他的各位平方的和是变小。直到3位数。会被困在循环中。题目则变为了检测循环。可以用循环链表,可以用Set保存值来判断循环。1395题。统计作战单位。给定一个数组,数组的值为各兵的得分,只有当i<j<k时,a[i]<a[j]<a[k]或a[i]>a...
2020-05-01 00:47:54
119
原创 刷题日记系列2
今天状态不太好,笨笨的。。只做了一道题435题,无重叠区间,即给出区间求出若要无重复区间,最少要去掉多少区间?有四种方法,分别是(1)以起点排序的动态规划整体的动态规划:要考虑,1. 保留当前区间 j<i,求得max{ dp[j]+1} 2. 不保留当前区间,dp[i]=dp[i-1]如果是以起点排序的话,最后一个区间一定是存在的。根据贪心。所以第二个选择可以忽...
2020-04-29 11:23:20
163
原创 刷题日记系列
两个数字出现一次,其他出现两次之前一个题目是一个数字出现一次,其他数字出现两次,利用的是a^b^a=b,且异或满足交换律,结合律,a^a=0,0^x为x。这个题目变为了两个数字(设为a,b)出现一次。对他进行分组,使得a,在一个分组,b在一个分组,且相同的数在同一个分组。分组的方法:异或的二进制数为1时,说明,a,b的二进制这个位置不同。按照这个位置进行分组。...
2020-04-28 10:00:18
204
原创 面试官的灵魂拷问系列----关于JVM
简单介绍下JVM。JVM本质来说就是一个程序,对于操作系统来说他就是一个进程,他向操作系统申请了内存区域,有JVM中的线程共享。JVM在程序方面分为线程共享的内存区域,包括栈,程序计数器,本地方法栈。和线程非共享的内存区域,包括堆,方法区。JVM是实现Java的平台无关性的关键。编译程序需要生成字节码文件,就可以在不同平台的Java虚拟机上运行。简述Minor GC和Major GC的过...
2020-04-25 17:15:35
233
原创 括号问题
有效的小括号使用栈 使用两个计数public static boolean isValidS(String s) { int left=0,right=0; for(int i=0;i<s.length();i++) { if(s.charAt(i)=='(') left++; else right++; if(left<right)ret...
2020-04-22 10:00:21
268
原创 JVM(1)
解释Java为什么能够跨平台?Java的源文件通过编译生成字节码文件,字节码文件又通过解释器解释为特定机器的机器码。每一个平台的解释器是不同的,但实现的虚拟机是相同的。JVM的线程与操作系统的线程有什么关系?一个JVM就是一个进程,JVM的线程与操作系统的线程有直接的映射关系,当线程本地存储,缓冲区分配,同步对象,栈,程序计数器准备好之后,就会创建一个操作系统原生线程。原生线程初始化之后,...
2020-04-21 09:27:04
122
原创 动态规划
用dp[i][j]表示在word1长度0 - (i-1)与word2长度0-j-1需要做的变换数。1. 替换情况下考虑如果word1【i-1】==word2【j-1】,dp[i][j]=dp[i-1][j-1] 如果不相等,dp[i][j]=dp[i-1][j-1]+1;2. 删除,dp[i][j]=dp[i-1][j]3. 插入,dp[i][j]=dp[i][j-1]...
2020-03-30 09:25:26
87
原创 312、戳气球-----使用回溯,分治,dp
可以使用三种方法:回溯法,回溯法可以遍历每一种可能,属于暴力解法。 分治法,分治法首先要得到状态转移方程。 dp动态规划首先为数组增加首位fun(i,j)相当于不戳边界 i,j。戳其中的任意一个气球得到的硬币数。对于确定的最后戳中间k索引的气球fun(i,j)=fun(i,k)+fun(k,j)+nums[i]*nums[k]*nums[j];所以有fun(i, j)=m...
2020-03-29 22:41:52
231
原创 贪心算法
45题跳跃游戏 贪心算法class Solution { public int jump(int[] nums) { int end = 0; int maxPosition = 0; int steps = 0; for(int i = 0; i < nums.length - 1; i++){ //找能跳...
2020-03-28 14:33:54
59
原创 回溯算法
public class Test { // private static List<List<Integer>> res=new ArrayList<>(); private static List<List<Integer>> res=new LinkedList<>(); public static void m...
2020-03-27 16:10:06
89
原创 语义分割与实例分割
如果两个块都是标记的同一个标签,语义分割则无法判断是一个块还是多个块,即语义分割只能判断类别,无法区分个体。 实例分割不需要对每个像素进行标记,它只需要找到感兴趣物体的边缘轮廓大多数UDA用于对象检测任务的工作只能通过使用对抗性学习来执行粗略的图像级或/和特征级的自适应,这样只能减少领域样式的差距,而不能解决对对象检测器来说很重要的领域内容分配差距。语义分割基本上使用deeplab作为检测...
2019-12-11 10:41:00
683
原创 深度环境配置
1. VS2015 安装包见百度网盘的vs2015.pro_chs.iso,直接安装即可。2. 下载anaconda33. 安装cuda win10+1660Ti 不知道为啥这次显示10.0不能安装。。安装9.0下载地址默认安装地址在 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0测试安装是否成功使用nvcc...
2019-11-06 17:48:14
149
原创 labelme的安装
(1)打开Anaconda Prompt,连接清华镜像:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud...
2019-11-06 17:46:01
885
原创 真心的头铁撸Mask R-CNN
现在 终于懂了什么叫 对于特征图的每一个像素点找到原图对应的9个anchor举例说Faster R-CNN,他缩小了16倍,每一个像素点相当于原图像的16*16的块,scale和radio,scale表示那个方框的长和宽,radio表示长宽比,不同radio的面积相同。还是不懂RPN的嘛。那个懂了就是Resnet+FPN,源码啥时候可以写一写,如果要加上迁移学习的话,要在模型上操作,那个模...
2019-11-04 20:31:23
100
原创 学习资源
图像分割综述:https://blog.csdn.net/weixin_41923961/article/details/80946586基础算法学习和实现:https://blog.csdn.net/u014365862/article/details/78422372知识蒸馏学习流程:https://blog.csdn.net/nature553863/article/de...
2019-10-25 10:38:15
133
原创 低分辨率图像分类,深度聚类,FCN
Unsupervised Deep Feature Transfer for Low Resolution Image Classification低分辨率图像分类,使用高分辨率图像对低分辨率图像进行迁移使用的网络结构:先使用预训练的网络提取特征,在将特征进行无监督的聚类迁移,再使用SVM分类器深度聚类Deep Clustering for Unsupervised Le...
2019-10-22 20:52:36
2085
2
原创 注解
JDK自带的注解@Override 重写方法@Deprecated 过期启用@SuppressWarnings("all") 压制警告自定义注解格式:元注解public @interface 注解名称{ }本质:public @interface myAnno{ }-------->本质上就是一个接口,默认继承Annotationpublic interf...
2019-04-02 11:21:44
123
原创 java反射
反射是框架的灵魂。(1)Source源代码阶段: 类编译为.class。(2)Class类对象阶段:在通过类加载器(ClassLoader),把字节码文件加载进内存。在内存中描述字节码文件,有Class对象来描述所有字节码文件,有三部分重要的:Field[ ] 数组对象, Contructor[ ] 数组对象, Method[ ] 数组对象。好处:可以在程序的运行过程中,去操作...
2019-04-01 19:59:37
69
转载 关于github和sourcetree的ssh密钥配置教程
前言 单纯转载留用,转载来源http://blog.csdn.net/tengdazhang770960436/article/details/541719111.使用 git 客户的生成公私钥:id_rsa、id_rsa.pub打开git的安装目录,找到并双击打开git-bash.exe1.1设置Git的user name和email:$ git config --glo...
2019-03-18 10:47:40
1179
转载 linux对于war包的操作
转自:https://www.cnblogs.com/liaojie970/p/6746308.html 情景:把project_a文件夹下的文件打包成project.war 1. 打包 jar -xvf project.war /project_a 说明: -c 创建war包 -v 显示过程信息 -f 指定 JAR 文件名,通常这个参数是必须的 ...
2019-01-27 11:49:36
786
原创 jquery ajax
元素选择器$("#livebut") //选择id$(".livebut") //选择class$("p") //选择<p>元素$(this) //选择当前对象$("p.info") //选择class是info的p元素$("p#info") //选择id是info的p元素上
2019-01-08 16:17:47
86
原创 JSP的内置对象
out输出 (1)out对象代码中的换行在页面上看不到,在查看源代码才能看到,在页面上能够看到只能使用<br/> (2)对对象缓冲区进行管理 out.getBufferSize() 用于获取当前缓冲区的大小 out.getRemaining()用于获取缓冲区剩余字节数目 缓冲区默认的大小是8KB,可以通过修改编译指令来修改:<%@page buffer="10kb"%> out.flus
2017-12-17 14:29:34
126
原创 JSP学习报告
HTTP是B/S模式,即(1)无连接,每次连接只处理一个请求,处理完请求并接受到应答后,会断开连接,(2)无状态,协议对于事务处理没有记忆的能力GET和POST方法,GET方法是向特定的资源发出请求,POST方法是向指定的资源提交数据并处理请求JSP参数声明<%! %>参数输出<%= %> JSP表达式是一个符合JAVA语法的表达式,可以把JAVA表达式的值作为字符串直接输出。注释<%
2017-12-07 16:49:12
338
原创 2017/11/15 javaEE在linux的环境配置
1。 VMware的安装 勾选“增强型键盘驱动程序” 去掉“启动时检查产品更新”和“帮助完善VMware Workstation Pro(H)”复选框前的勾 2。 添加虚拟机 3。 jetty的安装和配置 见一个博客 1.官网下载: http://download.eclipse.org/jetty/7.6.12.v20130726/dist/ jetty7,下载之后上传到linu
2017-11-17 10:38:15
285
原创 ## about 安装JAVA ##
2017年11月10日about 安装JAVAJava9.0更新了,oracle官网也换界面了。然后我就找不到jdk8.0的包了。算了,先放着吧,这个以后再说,我先用jdk9.0。 把jdk和jre装在不同文件夹的怕只有我了,真的好蠢啊。 在jdk9.0里面是没有jre的,而在jdk8.0是有的。 jdk安装好之后要配置Path环境变量和classpath环境变量
2017-11-11 21:03:57
115
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人