自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 资源 (3)
  • 收藏
  • 关注

原创 力扣每日一题:435. 无重叠区间

435. 无重叠区间给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。示例 1:输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。示例 2:输入: [ [1,2], [1,2], [1,2] ]输出: 2解释: 你需要移除两个 [1,2] 来使剩下的区间没有重

2020-12-31 15:04:27 500

原创 力扣每日一题:1046. 最后一块石头的重量

有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎。假设石头的重量分别为x 和y,且x <= y。那么粉碎的可能结果如下:如果x == y,那么两块石头都会被完全粉碎;如果x != y,那么重量为x的石头将会完全粉碎,而重量为y的石头新重量为y-x。最后,最多只会剩下一块石头。返回此石头的重量。如果没有石头剩下,就返回 0。示例:输入:[2,7,4,1,8,1]输出:1解释:先选出 7 和 8,得到 1,所以数...

2020-12-30 10:45:25 268

原创 DFS刷题:子集问题

78. 子集给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]class Solution { public List<List<Integer>> subsets(int[] nums) { ...

2020-12-30 10:22:49 332

原创 DFS刷题:77. 组合

DFS题主要还是递归+剪枝77. 组合给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。示例:输入:n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]画递归树根据搜索起点画出二叉树如果组合里有 1 ,那么需要在 [2, 3, 4] 里再找 1个数; 如果组合里有 2 ,那么需要在 [3, 4] 里再找 1数。注意:这里不能再考虑 1,因为包含 1...

2020-12-30 09:58:00 150

原创 力扣刷题:DFS题型:排列,组合问题

46. 全排列给定一个没有重复数字的序列,返回其所有可能的全排列。输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]class Solution { public List<List<Integer>> permute(int[] nums) { /* 定义状态变量: 1.depth:递归到第几层 2..

2020-12-28 15:06:31 527

原创 DFS算法力扣46. 全排列

参看:https://mp.weixin.qq.com/s?__biz=MzAxODQxMDM0Mw==&mid=2247484709&idx=1&sn=1c24a5c41a5a255000532e83f38f2ce4&chksm=9bd7fb2daca0723be888b30345e2c5e64649fc31a00b05c27a0843f349e2dd9363338d0dac61&scene=21#wechat_redirect1.DFS算法1)DFS...

2020-12-27 14:06:11 156

原创 力扣刷题:100. 相同的树

100. 相同的树给定两个二叉树,编写一个函数来检验它们是否相同。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int

2020-12-27 10:37:10 193

原创 二叉树层序遍历力扣刷题

102. 二叉树的层序遍历给你一个二叉树,请你返回其按层序遍历得到的节点值。 (即逐层地,从左到右访问所有节点)/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution {..

2020-12-26 19:02:17 220

原创 力扣刷题:297. 二叉树的序列化与反序列化

参看:https://mp.weixin.qq.com/s?__biz=MzAxODQxMDM0Mw==&mid=2247485871&idx=1&sn=bcb24ea8927995b585629a8b9caeed01&chksm=9bd7f7a7aca07eb1b4c330382a4e0b916ef5a82ca48db28908ab16563e28a376b5ca6805bec2&scene=178&cur_album_id=1318892385270808

2020-12-26 15:31:26 219

原创 二叉搜索树小结:力扣刷题

二叉搜索树(Binary Search Tree,简写 BST)首先,BST 的特性:1、对于 BST 的每一个节点node,左子树节点的值都比node的值要小,右子树节点的值都比node的值大。2、对于 BST 的每一个节点node,它的左侧子树和右侧子树都是 BST。一个重要的性质:BST 的中序遍历结果是有序的(升序)。注:这类题的解题思路利用二叉搜索树左小右大的特性 利用二叉搜索树中序遍历是升序的230. 二叉搜索树中第K小的元素升序排序,然后找第...

2020-12-25 19:24:59 158

原创 搜索二叉树BST的增删改查:力扣刷题

参看https://mp.weixin.qq.com/s?__biz=MzAxODQxMDM0Mw==&mid=2247488128&idx=2&sn=b8fb3fd2917f9ac86127054741cd5877&chksm=9bd7ec88aca0659ee0185b657663169169493e9df2063fa4d28b38a0b4d0dd698d0301937898&cur_album_id=1318896187793260544&scene=.

2020-12-25 19:05:33 201

原创 力扣652. 寻找重复的子树

题目给定一棵二叉树,返回所有重复的子树。对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。两棵树重复是指它们具有相同的结构以及相同的结点值。参看:https://mp.weixin.qq.com/s/LJbpo49qppIeRs-FbgjsSQ/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * Tree

2020-12-25 09:58:48 164

原创 构造二叉树之前序中序后序之间转换问题:力扣刷题

确定根节点的值 递归构造左右子树654. 最大二叉树给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边部分构造出的最大二叉树。通过给定的数组构建最大二叉树,并且输出这个树的根节点。解析看这个:https://labuladong.gitbook.io/algo/shu-ju-jie-gou-xi-lie/2.3-shou-ba-shou-shua-.

2020-12-25 09:37:36 161

原创 二叉树:力扣刷题

226. 翻转二叉树把二叉树上的每一个节点的左右子节点进行交换/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public TreeNode invertTr

2020-12-21 13:26:20 206

原创 二叉树刷题总结:力扣刷题

这篇文章写的太好了!https://labuladong.gitbook.io/algo/shu-ju-jie-gou-xi-lie/2.3-shou-ba-shou-shua-er-cha-shu-xun-lian-di-gui-si-wei/er-cha-shu-xi-lie-1一般二叉树的题离不开前序,中序,后序,层序遍历。(概念性的东西就不说了,很多博客都讲了,专注刷题)前序遍历:中左右中序遍历:左中右后序遍历:左右中层序遍历:类似于广度搜索,从左到右,从上到下顺着来。一.二

2020-12-21 11:21:47 338 1

原创 每日一题:力扣746. 使用最小花费爬楼梯

数组的每个索引作为一个阶梯,第i个阶梯对应着一个非负数的体力花费值cost[i](索引从0开始)。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例1:输入: cost = [10, 15, 20]输出: 15解释: 最低花费是从cost[1]开始,然后走两步即可到阶梯顶,一共花费15。示例 2:输入: cost = [1, 100,...

2020-12-21 09:12:54 164

原创 力扣贪心算法总结1:力扣刷题

题目:455. 分发饼干题目链接:https://leetcode-cn.com/problems/assign-cookies/假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j]。如果 s[j]>= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。...

2020-12-16 15:13:12 484

原创 每日一题:力扣290. 单词规律

给定一种规律 pattern和一个字符串str,判断 str 是否遵循相同的规律。这里的遵循指完全匹配,例如,pattern里的每个字母和字符串str中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern = "abba", str = "dog cat cat dog"输出: true示例 2:输入:pattern = "abba", str = "dog cat cat fish"输出: false示例 3:输入: pattern =...

2020-12-16 12:23:21 151

原创 每日一题:力扣738. 单调递增的数字

题目链接:https://leetcode-cn.com/problems/monotone-increasing-digits/题目给定一个非负整数N,找出小于或等于N的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字x和y满足x <= y时,我们称这个整数是单调递增的。)示例 1:输入: N = 10输出: 9示例 2:输入: N = 1234输出: 1234示例 3:输入: N = 332输出:...

2020-12-15 10:19:26 230

原创 力扣:面试题 01.03. URL化

题目URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)示例 1:输入:"Mr John Smith ", 13输出:"Mr%20John%20Smith"示例 2:输入:" ", 5输出:"%20%20%20%20%20"想法这里一开始我想的是直接在原字符串S中做改变,后来发现这种想法不对。下...

2020-12-14 22:13:51 196

原创 力扣:面试题 01.02. 判定是否互为字符重排

题目给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。示例 1:输入: s1 = "abc", s2 = "bca"输出: true示例 2:输入: s1 = "abc", s2 = "bad"输出: false说明:0 <= len(s1) <= 1000 <= len(s2) <= 100想法这道题感觉和上一篇https://blog.csdn.net/gtjsjj/article.

2020-12-14 16:21:27 259

原创 每日一题:力扣49. 字母异位词分组

题目给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"]输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。不考虑答案输出的顺序。想法1.排序按照字符排序,排序过后的字符串一定是相同的class Solution { public List&l...

2020-12-14 14:57:16 202

原创 双指针1:力扣刷题

题目:力扣167. 两数之和 II - 输入有序数组给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1必须小于index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], target = 9输出: [1,2]解释: 2 与 7 ...

2020-12-14 14:23:23 136

原创 每日一题:力扣217. 存在重复元素

题目给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true想法1.暴力求解,双层循环(不推荐,超时)2.排序,若有重复,则一定是相邻元素,比方法1少一层循环3.哈希表,将元素插入哈希表,如.

2020-12-13 10:43:59 240

原创 力扣:面试题 01.01. 判定字符是否唯一

题目实现一个算法,确定一个字符串 s 的所有字符是否全都不同。示例 1:输入: s = "leetcode"输出: false示例 2:输入: s = "abc"输出: true参考https://leetcode-cn.com/problems/is-unique-lcci/solution/shu-zu-wei-yun-suan-deng-6chong-jie-jue-fang-shi-b/https://leetcode-cn.com/problems/is-uni.

2020-12-12 21:55:10 373

原创 每日一题:力扣376. 摆动序列

题目如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。例如,[1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3)是正负交替出现的。相反, [1,4,7,2,5]和[1,7,4,5,5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。给定一个整数序列,返回作为摆动序列的最长子序列的长度。 通过从原始序列中删除一些(也可以不删...

2020-12-12 19:52:57 172

原创 力扣链表问题小结

链表问题:面试常问问题(一般是与链表的长度和位置有关):①获取倒数第k个元素②获取中间位置的元素③判断链表是否存在环④判断环的长度解决方法:双指针(一种思想)①获取倒数第k个元素题目剑指 Offer 22. 链表中倒数第k个节点输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:.

2020-12-09 18:50:07 304

原创 每日一题:力扣62. 不同路径

题目描述:一个机器人位于一个 m x n网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?想法:动态规划这类题一般都是定义dp[i][j],网格类动态规划问题。首先要明白dp[i][j]代表的意思。在本题中,dp[i][j]表示到达坐标(i,j)时的最大路径值。注:这类题中dp[i][j]一般都与dp[i-1][j],dp[i][j-1]有关系。.

2020-12-09 16:04:52 128

原创 解决“ModuleNotFoundError: No module named ‘pip‘”问题

在terminal中输入以下两行代码。1.python -m ensurepip2.python -m pip install --upgrade pip

2020-11-26 09:34:45 204

原创 替换空格

题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路倒着来看,一个空格变为%20,相当于一个空格变为三个空格,所以p1从右向左,每遇到一个空格,给定的字符串数组str就添加两个空格,即str.append(" ");p2指向扩建的字符串数组的末尾,当p1不是空格时,将p1的字符复制到p2,当p1是空格的时候,p2依次变为02%(倒着来)代码public class .

2020-09-13 17:44:15 96

原创 二维数组中的查找

题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路1 1 2 3 4 5 6 7 8 9 从右上角开始(数字“3”),可以知道左边的数都比3小,下边的数都比

2020-09-13 16:20:44 98

原创 NoSQL数据库简介

目录1.NoSQL数据库概述2.NoSQL适用场景3.NoSQL不适用场景4.缓存数据库1)Memcached2)Redis3)mongoDB5.列式数据库1)行式存储数据库和列式存储数据库(1)行式存储数据库(2)列式存储数据库2)列式数据库随着Web2.0的时代的到来,用户访问量大幅度提升,同时产生了大量的用户数据。加上后来的智能移动设备的普及,所有的互联网平台都面临了巨大的性能挑战。1.NoSQL数据库概述NoSQ...

2020-07-23 09:29:36 264

原创 Java的Redis客户端Jedis安装与测试

1.Jedis所需要的jar包Commons-pool-1.6.jar Jedis-2.1.0.jar这里有jar包:https://download.csdn.net/download/gtjsjj/12649742.关闭防火墙,配置redis.conf注:用windows中的Eclipse连接虚拟机的Redis的注意事项1.禁用Linux的防火墙: 2.临时禁用:service iptables stop 3.关闭开机自启:chkconfig iptables off 4.r.

2020-07-22 16:08:23 368

原创 redis安装与启动

安装步骤:1、下载获得redis-3.2.5.tar.gz后将它放入我们的Linux目录/opt获取链接:https://download.csdn.net/download/gtjsjj/126508932、解压命令:tar -zxvf redis-3.2.5.tar.gz3、解压完成后进入目录:cd redis-3.2.54、在redis-3.2.5目录下执行make命令运行make命令时出现故障意出现的错误解析:gcc:命令未找到执行:yum install gcc

2020-07-22 16:03:38 91

原创 Redis学习-五大数据类型

Redis五大数据类型key + string set list hash zset1.Keykeys * :查询当前库的所有键 exists <key> :判断某个键是否存在 type <key> :查看键的类型 del <key> :删除某个键 expire <key> <seconds> :为键值设置过期时间,单位秒。 ttl <key> :...

2020-07-22 09:44:58 265

原创 Redis在后台启动

1.启动redis服务redis-server myredis/redis.conf2.查看进程ps -ef | grep redis3.进入redisredis-cli4..关闭进程shutdown

2020-07-22 08:28:18 108

原创 关于Java以下描述正确的有?

关于Java以下描述正确的有( )Class类是Object类的超类Object类是一个final类String类是一个final类Class类可以装载其它类A.class类是Object的派生类B.每个类都使用Object类作为超类,而final修饰的类不能被继承C.D.Class类中的forName()方法返回与带有给定字符串名的类或接口相关联的Class对象(装载其他类)...

2020-07-16 16:29:39 2433

原创 Java中的byte,short,char进行计算时都会提升为int类型

代码片段: 1 2 3 4 5 byte b1=1,b2=2,b3,b6; final byte b4=4,b5=6; b6=b4+b5; b3=(b1+b2); System.out.println(b3+b6); 关于上面代码片段叙述正确的是()A:输出结果:13B:语句:b6=b4+b5编译出错C:语句:b3=b1+b2编译出错D:运行期抛出异常解释:...

2020-07-16 16:26:35 848 1

原创 一道关于java中super的题

class C { C() { System.out.print("C"); }} class A { C c = new C(); A() { this("A"); System.out.print("A"); } A(String s) { System.out.print(s); }} class Test extends A { Test() { .

2020-07-16 16:23:12 509 2

转载 Java中的堆和栈的区别

当一个人开始学习Java或者其他编程语言的时候,会接触到堆和栈,由于一开始没有明确清晰的说明解释,很多人会产生很多疑问,什么是堆,什么是栈,堆和栈有什么区别?更糟糕的是,Java中存在栈这样一个后进先出(Last In First Out)的顺序的数据结构,这就是java.util.Stack。这种情况下,不免让很多人更加费解前面的问题。事实上,堆和栈都是内存中的一部分,有着不同的作用,而且一个程序需要在这片区域上分配内存。众所周知,所有的Java程序都运行在JVM虚拟机内部,我们这里介绍的自然是JVM(虚

2020-07-16 15:25:49 79

redis-3.2.5.tar.gz

redis安装包。里面是redis安装的压缩包,redis-3.2.5.tar.gz redis:数据都在内存中,支持持久化,主要用作备份恢复,除了支持简单的key-value模式,还支持多种数据结构的存储,比如 list、set、hash、zset等。一般是作为缓存数据库辅助持久化的数据库

2020-07-22

Redis安装包和Jedis所需要的jar包.zip

redis-3.2.5.tar.gz+commons-pool2-2.4.2.jar+jedis-2.8.1.jar

2020-07-22

Jedis所需要的jar包.zip

Jedis所需要的jar包,包括commons-pool2-2.4.2.jar和jedis-2.8.1.jar

2020-07-22

空空如也

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

TA关注的人

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