自定义博客皮肤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)
  • 收藏
  • 关注

原创 LeetCode字符串中最长的不包含重复字符的子串长度

在评论区看到一种简便的方法,时间复杂度O(n),记录一下思路。原有的想法是遍历所有字串,观察字串是否有重复元素,再比较长度,这种方法复杂度高。首先从头到尾遍历所有的字符串元素,如果res包含该元素,**说明字符串不符合不包含无重复元素的要求,因此将res右移一位,即满足要求。**否则将该元素置入res中。这是一种典型的滑动窗口的思考方式,需要记住。例如res = abc,char元素是a,此时a重复,右移一位,res= bca,满足要求,...

2021-10-06 23:53:51 75

原创 剑指-数字在排序数组中出现的次数

这题用二分法查找该数字第一次出现和最后一次出现的位置,但是我用循环发现怎么写都不行_(:з」∠)_还是老老实实按照别人的方法用递归去写,这里方法的重点在于当mid所在的元素和k相等了如何处理。分为两种情况,1 当查找第一个出现的位置时,需要判断它是否是第一个元素,或者它前一个元素是否不是k,如果是就直接输出mid,否则end=mid-1 。2 当查找最后一次出现的位置时,需要判断它是否是数组最后一...

2019-09-16 11:44:38 104

原创 剑指-数组中的逆序对

不能采用遍历的方法,否则时间复杂度是n2,需要利用归并排序,先分治,再将两个子序列进行排序和统计,需要注意的是,我们要开创一个新的数组保存排序之后的结果,并且当j坐标代表的元素小于i坐标的元素时,那么mid到i之间的元素都是大于j代表的元素的。...

2019-09-16 10:03:38 85

原创 剑指-连续子数组的最大和

需要考虑动态规划解决,用dp[i]来表示以array[i]为末尾元素的连续子数组最大和,它分为两种情况,以前一个元素为末尾元素的最大和加上该元素,或者从该元素出发构造新的连续子数组。从两者选取最大值。再用一个max变量记录最大和。...

2019-09-15 10:56:03 94

原创 剑指-最小的k个数

这题用冒泡就可以完成,不过我居然把冒泡程序都写错了,晕,基础太差了。冒泡由两层for循环构成,最外层的for负责控制每一次冒泡排序的次数,在本题中,最外层的i就循环k次。那么,最重要的来了,最内层的for就是每次的冒泡排序,我们可以控制选出最大值或者最小值,但是注意是数组中j/j+1两个元素进行比较!老是记错,最内层的冒泡排序完成之后,我们就把本次循环中找出的最小值加入list中。...

2019-09-14 22:41:59 79

原创 剑指-数组中出现次数超过一半的元素

一开始想用Arrays.sort的,但是sort针对基本数据类型采用快排,时间复杂度为nlogn。还是采用评论里的思想,首先选取某个元素作为标志位,例如第一个元素,然后对数组中的元素进行遍历,相同就计数+1,不同就-1,如果计数为0说明不符合,就把该元素作为新的标志位。最后还需要判断一下是否正确。...

2019-09-14 22:05:54 96

原创 剑指-将二叉搜索树转为排序双向链表

完全参考评论的思路,这里简单记录一下。首先,如果想使得二叉搜索树变为有序的数组,那么必然是中序遍历。那么我们先递归出左子树的链表尾端节点,如果不为空就把其和root进行关联,同理再对右子树进行同样的处理。输入需要考虑左子树是否为空,如果是空就需要输出root。...

2019-09-09 10:29:00 75

原创 剑指-二叉树中和某值的路径

利用递归处理每一次深度遍历的结果。创建一个ArrayList<ArrayList>对象lists来保存所有可能的路径结果,在递归函数中,我们首先把节点的值加入某个路径结果list中,假如这时候root的左右子树都为空,则说明DFS到了叶子节点,这时候再判断叶子节点的值是否是target的值,不是的话就返回,假如是就把这个路径结果加入lists。如果root并不是叶子节点,我们就需要对...

2019-09-08 15:54:49 70

原创 剑指-二叉树的后序遍历

二叉搜索树,BST,是一个空二叉树,或者是,左子树的值小于它的根节点,右子树的值大于它的根节点的二叉树。题目要求是否为后序遍历,而在后序遍历的数组中,最后一位始终是根节点。我们再利用二叉搜索树的性质,进行递归处理。每次将数组的最后一位单独取出 ,从数组第一位进行查找,直到找到大于根节点的值,那么数组除了根节点的部分就可以划分为左右子树,再不断进行递归处理。递归跳出的条件为左指针大于等于右指针。...

2019-09-07 23:22:28 84

原创 剑指-栈的压入,弹出序列

用一个栈来存储需要压入的元素,每次压一个元素,当栈顶元素和右边待检测的数组元素相同时,说明两者匹配,栈顶元素出站,右边的数组标志位加1,这里需要注意检测这个栈是否为空!...

2019-09-07 22:38:55 91

原创 剑指-二进制中1的个数

在int类型长度范围内,对每一位的数字与1,如果是1就计数加1

2019-09-07 09:00:39 88

原创 剑指-变态跳台阶

这题一开始我是懵逼的,因为要考虑的情况太多了,也是看了评论的思路才明白,但是这个题目也是按照斐波那契数列的思路,只不过递归的公式需要改变一下。f(1)=1;f(2)=f(1)+1; //当n为2时,就是n为1时再跳一级台阶,以及直接跳两级台阶这两种情况f(3)=f(1)+2+f(2)+1//n为3时,从1级台阶出发,跳两级有两种情况,从二级台阶出发,有1种情况,以及直接跳3级台阶可以进...

2019-08-23 16:31:59 75

原创 剑指offer-跳台阶

这道题是斐波那契数列的变种,当初思考了好多好多种情况,后来看了评论发现就是斐波那契数列问题,因为跳台阶其实就两种情况,想要调到第target个台阶,必然是由target-1和target-2两种情况转化而来,把他们加起来就是结果,自然就能看出是斐波那契数列了。...

2019-08-23 11:34:56 66

原创 剑指-斐波那契数列

没打算用递归,因为只要求第n个数,所以用一次循环,因为定义了第0个数是0,所以0,1,1,2,3,5…因此从第二个数开始就是前两个数的和,这里需要设立标志位2,到第n个数之前一共循环n-2+1次...

2019-08-23 11:29:30 131

原创 剑指-旋转数组最小的数字

采用二分法解决,不过针对细节问题还是看评论才明白的。二分法是能想到的,但要是找最小值我就有点懵,这里应该使用指针找到最小值,当首尾指针跳出循环时,头指针的位置就是最小值。我们用中间和尾指针进行比较,因为中间值无论怎样都是大于头指针的,所以没有比较意义。1 mid大于end,说明是较大的序列占了数组的一半以上,最小值一定在中间值的右边,那么就令start=mid+12 mid小于end,说明是较...

2019-08-19 09:39:39 84

原创 剑指-用两个栈实现队列

push功能也就是往stack1中存数,pop的功能就是获得stack1栈底的元素,用stack2暂存所有stack1中出栈的元素,最后输出栈顶的元素即可

2019-08-19 08:59:38 109

原创 剑指offer-重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。这题思路和我们平时根据前序遍历以及中序遍历来构建二叉树的思路是一样的,利用递归来实现整个过程,首先对于这两个数组,都设立两个指针,指向起始以及终止位,根...

2019-08-17 16:27:26 75

原创 剑指offer-从尾到头打印链表

题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。用栈存放链表的值,再一个个出栈,放入集合中。`import java.util.*;public class Solution {public ArrayList printListFromTailToHead(ListNode listNode) {Stack stack=new Stack<>();...

2019-08-17 11:24:54 137

原创 剑指Offer-替换空格

题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。没啥好说的,用StringBuilder类就行了但是感觉不太符合题意,因为是重新构造了一个字符串,并不是在原有字符串的基础上增加。...

2019-08-17 10:51:19 69

原创 剑指offer1-二维数组中的查找

马上秋招了,剑指刷了两编,LeetCode也刷了前150题,但基本没有整理过思路,今天开始第三遍,每天都整理一点,希望能坚持下来。题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。例如1 2 34 5 67 8 9查找的话,这种递增类型...

2019-08-16 09:41:48 105

原创 Ubuntu下Eclipse无法添加Tomcat7解决方法

之前在linux里运行jsp程序,在eclipse里添加了tomcat7的环境变量,但仍然出现了run on server的时候无法添加tomcat7server的情况,查了半天,很多博客都千篇一律…估计都是抄的同一个博客吧,都说是删除 {workspace_dir}/.metadata/.plugins/org.eclipse.core.runtime/.settings 目录下的 org.ec...

2019-06-08 10:33:12 134

原创 Ubuntu 16.04 MYSQL 5.7 远程连接无响应

记录一下sqoop的安装之后的连接mysql的问题之前装了sqoop之后,准备导出mysql中的数据库,但是一直显示communication link failure,与mysql的远程连接一直没有响应,查了很多都说是mysql8个小时无连接之后就自动断开的问题。但是改了半天也没用,后来把jdbc的url的ip换成127.0.0.1就能ping通了,说明还是设置的问题,在netstat -n...

2019-05-17 20:39:37 238

空空如也

空空如也

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

TA关注的人

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