- 博客(22)
- 收藏
- 关注

原创 在星环科技实习的第一个Bug修复
实习期间的第一个Bug修复1. 前言 Debug 是不会 Debug,这辈子都不会Debug的。 这只是一个玩笑 : ),世上没有不会写bug的程序员,Debug肯定还是要的。如果让我说,实习的第一个月最兴奋、难忘的事情是什么,我肯定会说我为我们小组项目修复的第一个Bug,这对我是有里程碑意义的。十分中二的说,当我的分支被merge进主分支的时候,我的名字出现在annotate中的时候,我能感受到自己为项目出了一份力,自己是项目的一份子,哈哈。 不过言归正传,项目需要merge的分
2020-11-18 19:31:51
426
原创 [github/gitlab] 远端仓库master分支无法清除问题
[github/gitlab] 清除master远端仓库分支问题1. 问题情况 在近日的项目开发过程中,由于之前在master分支上提交了无用的commit到远端分支,于是想清空远端的master分支,提交合并多个commit后的唯一commit。但是在删除远端master分支时候遇到了无法清除的情况,如下图所示:remote: GitLab: You can only delete protected branches using the web interface.To http:/172
2020-12-21 14:28:20
2386
原创 Maven工具的知识整理与技巧总结
Maven 学习总结1. 前言 在星环实习期间,跟随小组的同事们一起进行shiva搜索引擎项目的开发。在开发的过程中,需要频繁的使用maven工具,要将学校学习的知识在项目中实践起来,只有真的上手实践了,才会发现之前的学习会有很多不足。书上学来的只能是知识,能运用在实践中,才能转化为能力。所有有必要抽出一点时间,将maven的知识,实践中遇到的问题好好整理一下。2. Maven 介绍 在开始之前,需要我们去了解Maven是什么, Maven有什么用以及为选择Maven的原因。2
2020-11-25 16:55:48
172
原创 Git 工具的知识整理与实战经验
Git学习整理1. 前言 在实习的期间,需要频繁使用git工具,维护本地代码与远程库代码的版本统一,提高开发的效率。但在使用的过程中,产生了使用不规范、理解不准确等问题,导致了提交message不规范,分支紊乱,甚至本地代码丢失等问题。所以有必要写一篇有关Git的文章,整理记录一下Git的学习过程与感悟,不过分关注具体实现方法,突出自己感觉比较重要的部分,加深一下对git了解。如果大家有什么疑问困惑,发现什么问题错误,欢迎一起讨论。2. Git 定义、安装与配置2.1 Git 定义
2020-11-18 00:51:27
565
1
原创 Linux 性能监视工具总结
Linux 性能监视常用工具总结前言 本周需要研究几个查询方法对电脑CPU、内存、网络流量和IO等方面的影响。我本来以为是调查相关性能的占有情况,想在Java代码层面获取其运行的情况。后来知道是程序运行的过程中整个电脑环境的运行情况。为了方便操作,就顺便研究整理几个比较常见的电脑性能监测。1. Sar Sar 这一工具的功能还是比较齐全, 我最后也是选择了使用Sar,相关的安装可查看这一网站:Ubuntu环境下Sar安装通过如下指令:# 该指令可以查看帮助sar -help
2020-11-13 20:20:33
336
原创 Leetcode--12. 整数转罗马数字[2020. 11. 12]
Leetcode–12. 整数转罗马数字前言 这题的其实还是比较简单的,最直观的方法应该是硬编码法,贪心也是一种非常好的解法。首先是硬编码,我们可以这么去理解,输入的数的每个位上的数字都有对应的罗马字符,其中千百十个位都不相同。我们只要列举出各个位上的所有可能性,然后对应入座即可。贪心算法的本质,是寻找当前最符合的情况,即寻找当前时间下做出最佳可能决策的算法。对于本题,我们只需要找到符合条件的数值,将罗马数值添加到结果,并将num减去它直到num<=0即可。题目罗马数字包含
2020-11-12 23:09:27
145
原创 csdn 文章中的图片处理
优快云 文章中的图片水印、大小处理 csdn 提供了编写markdown文档中对图片处理的方法,可以按照博主的需求决定是否添加水印、改变图片大小等。1. 删除图片的水印 在我们向文件添加图片时,会自动的添加相应的水印,比如:我们可以看到左下角有相应的水印,在文章编辑其中,在图片的下方有相应代码:height[min]*(m-n)height[min]∗(m−n)。我们可以从所有木板的最左和最右开始,分别设立左右指针。初始面积为height[min]∗(m−n)height[min]*(m-n)height[min]∗(m−n),随后我们找到最短的木板,
2020-09-10 11:39:54
110
原创 Leetcode--10. 正则表达式匹配(动态规划) [2020.9.10]
Leetcode–10. 正则表达式匹配(动态规划) [2020.9.10]前言 这题一开始我是打算把各种情况if-else的角度穷举出来,做到后面缴枪投降,后来参考了别人的解答才发现这是一道动态规划的问题。唉,dp问题就是我的梦魇,经常无法判断这道题是否为dp,感觉还是题目做少了,还得多加练习才是。 回到这道题目,对于动态规划问题,最重要的还是要按照dp流程一步一步走:(定义):s[i]s[i]s[i]和p[j]p[j]p[j]分别为s与p字串第iii和jjj个字母,dp[i][j]dp[i
2020-09-10 10:48:50
179
原创 二. Java学习笔记二
二. Java学习笔记二 由于之前有了Cpp面向对象的思想,同时也想快速入门Java,所以Java学习笔记就比较记录一些学习过程中感觉比较重要的东西,以及有参考价值的代码,可能比较零散,主要是帮助自己记忆。Part1. 对象的内存图 首先是Java创建一个对象对应的内存图,如下所示:我们可以看到左侧代码中有两个类,分别是Demo01PhoneOne、Phone,其中有相应的方法。在右侧代码中,我们能够看到,在JVM(Java虚拟机)内存有三块分别是,栈、堆、方法区,其功能如下所示:堆区:
2020-09-10 00:42:23
238
原创 Leetcode--7. 字符串转换整数 (atoi) [2020.9.9]
Leetcode–7. 字符串转换整数 (atoi) [2020.9.9]前言 这题难度不大,主要是细节的处理。主要的思路是总结出几种情况的判定:数字后一位只有为数字才能继续,否则判断是否溢出,输出加号减号后一位只有为数字才能继续,否则输出0遇到空格直接continue;continue;continue;非数字、非加减号,非空,输出0 注意以上四种情况的判定顺序,还有注意数据溢出以及正负的处理。题目代码/*代码可能有点冗余,有能力能够自己简化*/class Solutio
2020-09-09 10:03:13
99
原创 一. Java学习笔记(环境配置与Helloworld)
一. Java学习笔记(环境配置与Helloworld)目录前言Java 的环境配置Hello World代码解析Part1. 前言 秋招的时候发现Java的需求非常的大,并且在很多领域Java都有非常重要的作用(比如数据开发中Hadoop,Hive都需要Java),所以我打算速成一下Java,争取在一个星期内基本掌握Java SE。之后将会做一些Java学习的笔记,记录一下在学习中的心得。Part2. Java的环境配置 首先是Java环境的配置,本来是打算去oracle官网
2020-09-09 00:41:21
148
原创 Leetcode--6. Z 字形变换 [2020.9.8]
Leetcode–6. Z 字形变换 [2020.9.8]前言 这题我一开始用自己的方法,利用已知行数,将Z分割成多组,每组为2n−22n-22n−2个元素。将s对应元素下标对2n−22n-22n−2取余,然后根据余数就能够判断该数在Z字的哪一行,将其放入相应的字符串中,最后将各个字符串合并就可以获得具体的答案。但是时间与空间的效率并不高,并且由于数字下标从0开始,如果不注意细节很容易出错 题解的思路其实和我的也类似,但是多设置了一个flag=-1,在i=0i=0i=0与i=numRow−1i=n
2020-09-08 21:00:15
157
原创 Leetcode--5. 最长回文子串(动态规划) [2020.9.8]
Leetcode–5. 最长回文子串(动态规划) [2020.9.8]前言 本文参考了leetcode题解,liweiwei1419大佬发表的动态规划、中心扩散、Manacher 算法一文,给了我很大的启发。 本题是寻找最长的回文子串,解法有很多,暴力、动态规划、中心扩散法等方法。本文主要是从动态规划的角度去解决最长回文子串的问题。 对于动态规划的思想可以参考一下liweiwei1419大佬的文章:leetcode题解,一下只给出一点自己做题中的思路与感想。 我觉得动态规划问题最重要的是
2020-09-08 16:37:10
121
原创 Leetcode--4. 寻找两个正序数组的中位数(二分法) [2020.9.7]
Leetcode–4. 寻找两个正序数组的中位数 [2020.9.7]前言 这题卡了我好一会儿,主要还是细节的处理不够,以及做题的经验还是不足。 首先,看到题目要求的时间复杂度是0(log(m+n)),所以能够排除将两个向量合并成一个向量的想法,需要利用向量的长度,以及元素的具体位置进行操作O(1),然后利用二分的方法去解。一开始我的想法是构造一个大小堆,然后维护大小堆的个数使其保持一直,但是发现插入其时间复杂度为O(nlog),所以这条路不通。 然后就想到了二分的角度去解决问题,但一个难点
2020-09-08 00:33:37
473
原创 Leetcode--3. 无重复字符的最长子串(滑动窗口)[2020.9.7]
Leetcode–3. 无重复字符的最长子串(滑动窗口)前言 本题是一道非常典型的无重复最长子串题,其实并不是很难,主要是利用左右指针进行滑动,从而截取到最长的字串。 主要的编程思路是,构建一个哈希表存储当前字串的各个字符。移动一次右指针,查看所指元素是否存在与哈希表中,如果不存在直接加入,判断是否为最长字串;如果存在,则移动左指针,相当于剔除一个元素,然后判断是否还存在,通过不断的剔除必能获得不重复的新的字串,然后加入右指针所指元素。 以此类推我们能够的到最长字串的长度,时间的复杂度是0(n
2020-09-07 19:18:37
135
1
原创 Leetcode--2. 两数相加(链表的操作) [2020.9.7]
Leetcode–2. 两数相加(链表的操作)前言这一题其实并不难,但是我还是疏忽出了点错误。首先,对该题的第一直觉是链表表示转化为int整型,然后求和后再转化为链表。但是缺疏忽了万一链表长度很长,令求和结果位数过多而导致数据溢出。所以这种解法很有局限性。该题应该从链表的角度上去思考,这样就能避免由于位数过多而导致的数据溢出。需要考虑两个链表的长度问题,利用两个链表的指针同时平移,若某一指针下一个为空,则停止其移动,计算另一链表与进位的求和结果。该题还有一个小细节就是进位的处理,我们可以设立一个进
2020-09-07 19:17:43
99
原创 Leetcode--107. 二叉树的层次遍历(DFS、BFS) [2020.9.6]
Leetcode–107. 二叉树的层次遍历 II [9/6/2020]前言这是我做leetcode的第一题,其实比较简单,主要也是为了熟悉leetcode这个平台,以及相关的答题规范。本题是hot 100 的第一题,是一个二叉树层次遍历问题,可以运用BFS、DFS手段进行逐行遍历,获取隔行向量,然后自底向上的输出各行向量,需要注意的特殊情况的处理,比如root为空的时候返回null。BFS——广度优先搜索,主要思想就是构建一个队列,将初始节点放入队列之中,然后记录队列内节点数目。然后弹出队列的
2020-09-07 19:16:30
233
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人