自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在星环科技实习的第一个Bug修复

实习期间的第一个Bug修复1. 前言   Debug 是不会 Debug,这辈子都不会Debug的。   这只是一个玩笑 : ),世上没有不会写bug的程序员,Debug肯定还是要的。如果让我说,实习的第一个月最兴奋、难忘的事情是什么,我肯定会说我为我们小组项目修复的第一个Bug,这对我是有里程碑意义的。十分中二的说,当我的分支被merge进主分支的时候,我的名字出现在annotate中的时候,我能感受到自己为项目出了一份力,自己是项目的一份子,哈哈。   不过言归正传,项目需要merge的分

2020-11-18 19:31:51 363

原创 [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 2152

原创 Maven工具的知识整理与技巧总结

Maven 学习总结1. 前言   在星环实习期间,跟随小组的同事们一起进行shiva搜索引擎项目的开发。在开发的过程中,需要频繁的使用maven工具,要将学校学习的知识在项目中实践起来,只有真的上手实践了,才会发现之前的学习会有很多不足。书上学来的只能是知识,能运用在实践中,才能转化为能力。所有有必要抽出一点时间,将maven的知识,实践中遇到的问题好好整理一下。2. Maven 介绍   在开始之前,需要我们去了解Maven是什么, Maven有什么用以及为选择Maven的原因。2

2020-11-25 16:55:48 133

原创 Git 工具的知识整理与实战经验

Git学习整理1. 前言  在实习的期间,需要频繁使用git工具,维护本地代码与远程库代码的版本统一,提高开发的效率。但在使用的过程中,产生了使用不规范、理解不准确等问题,导致了提交message不规范,分支紊乱,甚至本地代码丢失等问题。所以有必要写一篇有关Git的文章,整理记录一下Git的学习过程与感悟,不过分关注具体实现方法,突出自己感觉比较重要的部分,加深一下对git了解。如果大家有什么疑问困惑,发现什么问题错误,欢迎一起讨论。2. Git 定义、安装与配置2.1 Git 定义 

2020-11-18 00:51:27 507 1

原创 Linux 性能监视工具总结

Linux 性能监视常用工具总结前言  本周需要研究几个查询方法对电脑CPU、内存、网络流量和IO等方面的影响。我本来以为是调查相关性能的占有情况,想在Java代码层面获取其运行的情况。后来知道是程序运行的过程中整个电脑环境的运行情况。为了方便操作,就顺便研究整理几个比较常见的电脑性能监测。1. Sar  Sar 这一工具的功能还是比较齐全, 我最后也是选择了使用Sar,相关的安装可查看这一网站:Ubuntu环境下Sar安装通过如下指令:# 该指令可以查看帮助sar -help  

2020-11-13 20:20:33 305

原创 Leetcode--12. 整数转罗马数字[2020. 11. 12]

Leetcode–12. 整数转罗马数字前言  这题的其实还是比较简单的,最直观的方法应该是硬编码法,贪心也是一种非常好的解法。首先是硬编码,我们可以这么去理解,输入的数的每个位上的数字都有对应的罗马字符,其中千百十个位都不相同。我们只要列举出各个位上的所有可能性,然后对应入座即可。贪心算法的本质,是寻找当前最符合的情况,即寻找当前时间下做出最佳可能决策的算法。对于本题,我们只需要找到符合条件的数值,将罗马数值添加到结果,并将num减去它直到num<=0即可。题目罗马数字包含

2020-11-12 23:09:27 118

原创 csdn 文章中的图片处理

CSDN 文章中的图片水印、大小处理   csdn 提供了编写markdown文档中对图片处理的方法,可以按照博主的需求决定是否添加水印、改变图片大小等。1. 删除图片的水印  在我们向文件添加图片时,会自动的添加相应的水印,比如:我们可以看到左下角有相应的水印,在文章编辑其中,在图片的下方有相应代码:![在这里插入图片描述](https://img-blog.csdnimg.cn/20201030111218435.png?x-oss-process=image/watermark,type_

2020-10-30 11:41:27 2892 1

原创 Java学习笔记五 项目训练

Java学习笔记五 项目训练  感谢阿T大佬的指导,让我有了Java训练的项目,在能够训练自己Java能力的同时,也能让自己熟悉一下github分布式工作的环境,现在记录一下一次训练的流程。   首先先给出训练的网址:Java项目训练网址。由于之前学习了Java的教学视频,现在主要还是完成其中课后的课后主观题。比如其中有一道题目是:点击进入github网址,可以进入该项目训练的代码仓库:我们不能直接在远程仓库的代码直接修改,我们先得将该仓库fork到本地,然后在本地创建一个github文件夹,利

2020-09-14 16:59:25 125

原创 四. Java学习笔记四

四. Java学习笔记四前言  本章主要是学习集合,首先先得了解一下集合:Java集合类存放在java.util包中,是一个用来存放对象的容器。集合只能存放对象。集合存放的都是对象的引用,而非对象本身。集合可以存放不同类型,不限数量的数据类型。Collectioncollection集合框架:collection类中常用功能,这些方法能够在collection的子类中使用:泛型  泛型是一种未知的数据类型,当我们不知道是用什么数据类型的时候,可以使用泛型。泛型也能看成一个变量来

2020-09-13 11:16:59 148

原创 三. Java学习笔记三

三. Java学习笔记三Part1. 多态  在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。访问成员变量对象的两种方式。多态的好处:多态向上向下转型要注意:向上转型一定是安全的向下转型要保证转型对象前后一致能够利用 instanceof 返回类的类型,返回的结果是布尔值。Part2. 内

2020-09-12 01:13:13 167

原创 Leetcode--15. 三数之和 [2020.9.10]

Leetcode–15. 三数之和 [2020.9.10]前言  这题其实难度并不是很大,我一开始的思路是正确的,双指针移动。但逻辑顺序没有完全搞清楚就上手编程,导致后面调bug浪费了很多时间。以后做题一定不要急于去做,一定要把整体的思路逻辑整理完毕了再下手,不然有bug修改起来很麻烦,而且思路容易紊乱。  回到该题,首先我们需要将数组元素从小到大升序排序,确定起始指针,然后在起始指针右侧元素确定左右指针。基本思想就是:如果三个元素和相加等于0.则满足要求将其放入结果数组,如果小于0,则将左指针右移;

2020-09-12 00:05:18 96

原创 Leetcode--11. 盛最多水的容器 [2020.9.10]

Leetcode–11. 盛最多水的容器 [2020.9.10]前言   这题其实还是比较简单的题目,只要思路正确,很快就能解出来。  首先易知,对于两个长短不同的木板,其所能盛水的最大面积由最短的木板决定,即height[min]∗(m−n)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 71

原创 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 152

原创 二. Java学习笔记二

二. Java学习笔记二  由于之前有了Cpp面向对象的思想,同时也想快速入门Java,所以Java学习笔记就比较记录一些学习过程中感觉比较重要的东西,以及有参考价值的代码,可能比较零散,主要是帮助自己记忆。Part1. 对象的内存图  首先是Java创建一个对象对应的内存图,如下所示:我们可以看到左侧代码中有两个类,分别是Demo01PhoneOne、Phone,其中有相应的方法。在右侧代码中,我们能够看到,在JVM(Java虚拟机)内存有三块分别是,栈、堆、方法区,其功能如下所示:堆区:

2020-09-10 00:42:23 196

原创 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 74

原创 一. 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 115

原创 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 108

原创 Leetcode--5. 最长回文子串(动态规划) [2020.9.8]

Leetcode–5. 最长回文子串(动态规划) [2020.9.8]前言   本文参考了leetcode题解,liweiwei1419大佬发表的动态规划、中心扩散、Manacher 算法一文,给了我很大的启发。  本题是寻找最长的回文子串,解法有很多,暴力、动态规划、中心扩散法等方法。本文主要是从动态规划的角度去解决最长回文子串的问题。  对于动态规划的思想可以参考一下liweiwei1419大佬的文章:leetcode题解,一下只给出一点自己做题中的思路与感想。  我觉得动态规划问题最重要的是

2020-09-08 16:37:10 93

原创 Leetcode--4. 寻找两个正序数组的中位数(二分法) [2020.9.7]

Leetcode–4. 寻找两个正序数组的中位数 [2020.9.7]前言   这题卡了我好一会儿,主要还是细节的处理不够,以及做题的经验还是不足。  首先,看到题目要求的时间复杂度是0(log(m+n)),所以能够排除将两个向量合并成一个向量的想法,需要利用向量的长度,以及元素的具体位置进行操作O(1),然后利用二分的方法去解。一开始我的想法是构造一个大小堆,然后维护大小堆的个数使其保持一直,但是发现插入其时间复杂度为O(nlog),所以这条路不通。  然后就想到了二分的角度去解决问题,但一个难点

2020-09-08 00:33:37 396

原创 Leetcode--3. 无重复字符的最长子串(滑动窗口)[2020.9.7]

Leetcode–3. 无重复字符的最长子串(滑动窗口)前言  本题是一道非常典型的无重复最长子串题,其实并不是很难,主要是利用左右指针进行滑动,从而截取到最长的字串。  主要的编程思路是,构建一个哈希表存储当前字串的各个字符。移动一次右指针,查看所指元素是否存在与哈希表中,如果不存在直接加入,判断是否为最长字串;如果存在,则移动左指针,相当于剔除一个元素,然后判断是否还存在,通过不断的剔除必能获得不重复的新的字串,然后加入右指针所指元素。  以此类推我们能够的到最长字串的长度,时间的复杂度是0(n

2020-09-07 19:18:37 108 1

原创 Leetcode--2. 两数相加(链表的操作) [2020.9.7]

Leetcode–2. 两数相加(链表的操作)前言这一题其实并不难,但是我还是疏忽出了点错误。首先,对该题的第一直觉是链表表示转化为int整型,然后求和后再转化为链表。但是缺疏忽了万一链表长度很长,令求和结果位数过多而导致数据溢出。所以这种解法很有局限性。该题应该从链表的角度上去思考,这样就能避免由于位数过多而导致的数据溢出。需要考虑两个链表的长度问题,利用两个链表的指针同时平移,若某一指针下一个为空,则停止其移动,计算另一链表与进位的求和结果。该题还有一个小细节就是进位的处理,我们可以设立一个进

2020-09-07 19:17:43 71

原创 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 133

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除