自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 华为云服务器Ubuntu手动部署tomcat并添加页面

Tomcat部署参考链接:https://cloud.tencent.com/developer/article/1162159大致可根据上述链接进行Tomcat的安装和配置,但是要注意以下几个问题:文章中的Tomcat下载链接可能过期,按照文章下载后无法解压,报错如下:gzip: stdin: not in gzip formattar: Child returned status 1tar: Error is not recoverable: exiting now解决办法:从官网找

2021-09-30 21:59:07 372

转载 Spring Boot 跨线程调用对象报空指针异常(NullPointerException)的解决办法

参考链接: http://blog.sina.com.cn/s/blog_5a15b7d10102v6ki.html问题发生的情景:建立一个监听线程来监听数据库内容,但是线程中调用了主线程注入的对象,导致线程在执行的时候该对象没有被注入,bean对象为空值。因此采取上述链接中的办法,创建了一个工具类获取主线程的对象。以下为原文内容:问题说明今天在web应用中用到了Java多线程的技术来并发处理一些业务,但在执行时一直会报NullPointerException的错误,问题定位了一下发现是线程中的

2021-09-15 16:09:40 833

转载 236. 二叉树的最近公共祖先(中等)

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”示例 1:输入:root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出:3解释:节点 5 和节点 1 的最近公共祖先是节点 3 。示例 2:输入:root = [3,5,1,6,2,0,8,null,nu

2021-08-27 09:15:09 181

原创 剑指 Offer 14- I. 剪绳子(中等)

**剑指 Offer 14- I. 剪绳子**给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m-1] 。请问 k[0]k[1]…*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1示例 2:输入: 10输出: 36解释: 10

2021-08-12 22:13:01 144

原创 剑指 Offer 12. 矩阵中的路径(中等)

剑指 Offer 12. 矩阵中的路径给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。例如,在下面的 3×4 的矩阵中包含单词 “ABCCED”(单词中的字母已标出)。示例 1:输入:board = [[“A”,“B”,“C”,“E”],[“S”,“F”

2021-08-11 20:38:12 77

原创 spark-streaming连接kafka报错 java.lang.NoClassDefFoundError: kafka/common/TopicAndPartition

2021-05-12 17:26:21 1766

原创 pyspark3.1.1在linux python3.5环境下报错AttributeError: ‘NoneType‘ object has no attribute ‘items‘

在搭建大数据pyspark环境时遇到的问题/坑,我的环境版本如下:linux16.04 python3.5(linux自带) Hadoop2.7 java 1.8_8u281按照厦门大学实验室安装教程搭建环境,当时选择了最新的spark-3.1.1版本,如图:按照教程流程安装完后,运行pyspark失败,报错AttributeError: 'NoneType' object has no attribute 'items'。报错界面如下:百度了一下竟然没有人遇到相同的问题,就考虑

2021-04-24 11:56:15 3526 1

转载 LeetCode 395. 至少有 K 个重复字符的最长子串(中等)

395. 至少有 K 个重复字符的最长子串给你一个字符串s和一个整数k,请你找出s中的最长子串,要求该子串中的每一字符出现次数都不少于k。返回这一子串的长度。示例 1:输入:s = "aaabb", k = 3输出:3解释:最长子串为 "aaa" ,其中 'a' 重复了 3 次。示例 2:输入:s = "ababbc", k = 2输出:5解释:最长子串为 "ababb" ,其中 'a' 重复了 2 次, 'b' 重复了 3 次。提示:...

2021-02-28 20:42:25 197

原创 LeetCode 697. 数组的度(简单)

697. 数组的度给定一个非空且只包含非负数的整数数组nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是在nums中找到与nums拥有相同大小的度的最短连续子数组,返回其长度。示例 1:输入:[1, 2, 2, 3, 1]输出:2解释:输入数组的度是2,因为元素1和2的出现频数最大,均为2.连续子数组里面拥有相同度的有如下所示:[1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1, 2, 2], [2,...

2021-02-20 20:08:43 102

原创 LeetCode 119. 杨辉三角 II(简单)

119. 杨辉三角 II难度简单255收藏分享切换为英文接收动态反馈给定一个非负索引k,其中k≤33,返回杨辉三角的第k行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 3输出: [1,3,3,1]进阶:你可以优化你的算法到O(k) 空间复杂度吗?我的Java代码:思路:计算从第0行到题目所要求的行的所有数,最后返回最后一行即可。class Solution { public static List<Int...

2021-02-13 11:43:34 253 1

原创 LeetCode 992. K 个不同整数的子数组(困难)

992. K 个不同整数的子数组给定一个正整数数组A,如果A的某个子数组中不同整数的个数恰好为K,则称A的这个连续、不一定不同的子数组为好子数组。(例如,[1,2,3,1,2]中有3个不同的整数:1,2,以及3。)返回A中好子数组的数目。示例 1:输入:A = [1,2,1,2,3], K = 2输出:7解释:恰好由 2 个不同整数组成的子数组:[1,2], [2,1], [1,2], [2,3], [1,2,1], [2,1,2], [1,2,1,2...

2021-02-10 19:02:46 159

原创 LeetCode 978. 最长湍流子数组(中等)

978. 最长湍流子数组当A的子数组A[i], A[i+1], ..., A[j]满足下列条件时,我们称其为湍流子数组:若i <= k < j,当k为奇数时,A[k] > A[k+1],且当k为偶数时,A[k] < A[k+1]; 或若i <= k < j,当k为偶数时,A[k] > A[k+1],且当k为奇数时,A[k] < A[k+1]。也就是说,如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是湍...

2021-02-08 11:01:01 187

原创 LeetCode 665. 非递减数列(简单)

665. 非递减数列给你一个长度为n的整数数组,请你判断在最多改变1个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的:对于数组中所有的i(0 <= i <= n-2),总满足nums[i] <= nums[i + 1]。示例 1:输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。示例 2:输入: nums = [4,2,1]输出: fal...

2021-02-07 14:51:17 162

原创 《数据库系统概论》知识点归纳——第五章

5.0概述数据库的完整性指数据的正确性和相容性。 数据的正确性是指数据符合现实世界语义。 数据的相容性是指数据库同一对象在不同关系表中的数据是符合逻辑的。 完整性和安全性的区别: 完整性检查和控制的防范对象是不合语义的、不正确的数据,防止它们进入数据库。 安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取。 为维护数据库的完整性,数据库管理系统必须实现如下功能: 提供定义完整性约束条件的机制 提供完整性检查的方法 进行违约处理 5.1实体完整性

2021-02-06 23:54:18 464

原创 LeetCode 1423. 可获得的最大点数(中等)

1423. 可获得的最大点数几张卡牌排成一行,每张卡牌都有一个对应的点数。点数由整数数组cardPoints给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿k张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组cardPoints和整数k,请你返回可以获得的最大点数。示例 1:输入:cardPoints = [1,2,3,4,5,6,1], k = 3输出:12解释:第一次行动,不管拿哪张牌,你的点数总是 1 。但是,先...

2021-02-06 11:04:03 129

原创 LeetCode 1208. 尽可能使字符串相等(中等)

1208. 尽可能使字符串相等给你两个长度相同的字符串,s和t。将s中的第i个字符变到t中的第i个字符需要|s[i] - t[i]|的开销(开销可能为 0),也就是两个字符的 ASCII 码值的差的绝对值。用于变更字符串的最大预算是maxCost。在转化字符串时,总开销应当小于等于该预算,这也意味着字符串的转化可能是不完全的。如果你可以将s的子字符串转化为它在t中对应的子字符串,则返回可以转化的最大长度。如果s中没有子字符串可以转化成t中对应的子...

2021-02-05 16:13:59 129

原创 《数据库系统概论》知识点归纳——第四章

4.1数据库安全性概述数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。数据库的不安全因素:非授权用户对数据库的恶意存取和破坏 数据库中重要或敏感的数据被泄露 安全环境的脆弱性4.2数据库安全性控制数据库管理系统安全性控制模型:...

2021-02-05 00:34:35 1536

原创 Java笔记(4)String

概述:Java提供了String类来更方便的使用字符串。 String是不可变的字符序列,更改字符串内容实际上是令String指向一个新的引用。频繁更改String的引用字符串会引起很大的内存开销。 当需要改变字符串内容时,String类的方法会返回一个新的String对象,如果String内容没有发生改变,String的相关方法只返回指向原有对象的引用。 创建字符串:创建字符串:String str = "hello"; //静态赋值String str2=new string(

2021-02-04 15:17:55 165

原创 LeetCode 643. 子数组最大平均数 I(简单)

643. 子数组最大平均数 I难度简单136收藏分享切换为英文接收动态反馈给定n个整数,找出平均数最大且长度为k的连续子数组,并输出该最大平均数。示例:输入:[1,12,-5,-6,50,3], k = 4输出:12.75解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75提示:1 <=k<=n<= 30,000。 所给数据范围 [-10,000,10,000]。我的Java代码:思路:题目求最大平均...

2021-02-04 10:11:06 214

原创 LeetCode 480. 滑动窗口中位数(困难)

480. 滑动窗口中位数中位数是有序序列最中间的那个数。如果序列的大小是偶数,则没有最中间的数;此时中位数是最中间的两个数的平均数。例如:[2,3,4],中位数是3 [2,3],中位数是(2 + 3) / 2 = 2.5给你一个数组nums,有一个大小为k的窗口从最左端滑动到最右端。窗口中有k个数,每次窗口向右移动1位。你的任务是找出每次窗口移动后得到的新窗口中元素的中位数,并输出由它们组成的数组。示例:给出nums=[1,3,-1,-3,5,3,6,7...

2021-02-03 11:08:57 199 1

原创 《数据库系统概论》知识点归纳——第三章

3.1SQL概述结构化查询语言(SQL)是关系数据库的标准语言。SQL的特点:

2021-02-03 00:52:38 2958

原创 LeetCode 424. 替换后的最长重复字符(中等)

424. 替换后的最长重复字符给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换k次。在执行上述操作后,找到包含重复字母的最长子串的长度。注意:字符串长度 和k不会超过10^4。示例 1:输入:s = "ABAB", k = 2输出:4解释:用两个'A'替换为两个'B',反之亦然。示例 2:输入:s = "AABABBA", k = 1输出:4解释:将中间的一个'A'替换为'B',字符串变为 "AABBBBA...

2021-02-02 10:53:41 187

原创 LeetCode 888. 公平的糖果棒交换(简单)

888. 公平的糖果棒交换爱丽丝和鲍勃有不同大小的糖果棒:A[i]是爱丽丝拥有的第i根糖果棒的大小,B[j]是鲍勃拥有的第j根糖果棒的大小。因为他们是朋友,所以他们想交换一根糖果棒,这样交换后,他们都有相同的糖果总量。(一个人拥有的糖果总量是他们拥有的糖果棒大小的总和。)返回一个整数数组ans,其中ans[0]是爱丽丝必须交换的糖果棒的大小,ans[1]是 Bob 必须交换的糖果棒的大小。如果有多个答案,你可以返回其中任何一个。保证答案存在。示例 1:输入...

2021-02-01 11:25:57 165

原创 LeetCode 724. 寻找数组的中心索引(简单)

724. 寻找数组的中心索引给定一个整数类型的数组nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出:3解释:索引 3 (nums[3] = 6) 的左侧数之和 (1 + 7 + 3 = 11),...

2021-01-28 11:11:40 90

原创 Java笔记(3)数据类型

基本数据类型:Java共有8种基本数据类型,其中布尔型一种,字符型一种,整数型四种,浮点型两种。 布尔型:boolean 字符型:char 整数型:byte、short、int、long 浮点型:float、double 注意String不是基本数据类型,是引用数据类型,是类。 实际上,Java中还存在另外一种基本类型voidboolean:boolean类型的大小没有给出精确的定义,《Java虚拟机规范》给出了boolean元素占4个字节(boolean编译后用int来代替),和bo

2021-01-27 20:13:10 122 1

原创 LeetCode 1579. 保证图可完全遍历(困难)

1579. 保证图可完全遍历Alice 和 Bob 共有一个无向图,其中包含 n 个节点和 3 种类型的边:类型 1:只能由 Alice 遍历。 类型 2:只能由 Bob 遍历。 类型 3:Alice 和 Bob 都可以遍历。给你一个数组edges,其中edges[i] = [typei, ui, vi]表示节点ui和vi之间存在类型为typei的双向边。请你在保证图仍能够被 Alice和 Bob 完全遍历的前提下,找出可以删除的最大边数。如果从任何节点开始,Alice ...

2021-01-27 17:13:04 121

原创 LeetCode 1128. 等价多米诺骨牌对的数量(简单)

1128. 等价多米诺骨牌对的数量给你一个由一些多米诺骨牌组成的列表dominoes。如果其中某一张多米诺骨牌可以通过旋转0度或180度得到另一张多米诺骨牌,我们就认为这两张牌是等价的。形式上,dominoes[i] = [a, b]和dominoes[j] = [c, d]等价的前提是a==c且b==d,或是a==d且b==c。在0 <= i < j < dominoes.length的前提下,找出满足dominoes[i]和domi...

2021-01-26 12:26:08 312

原创 《数据库系统概论》知识点归纳——第二章

2.1关系数据结构及形式化定义关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。关系数据结构:关系模型只包含单一的数据结构——关系。在用户看来,关系模型中数据的逻辑结构是一张二维表。 域:是一组具有相同数据类型的值的集合。 笛卡尔积:域上的一种集合运算。 定义:给定一组域D1,D2,……,Dn,允许其中某些域是相同的,D1,D2,……,Dn的笛卡尔积为:D1 * D2 * …… * Dn = {(d1,d1,……,dn) | di ∈ Di,i = 1,2,……,n} 其中

2021-01-25 20:44:17 659

转载 LeetCode 959. 由斜杠划分区域(中等)

959. 由斜杠划分区域在由 1 x 1 方格组成的 N x N 网格grid中,每个 1 x 1方块由/、\或空格构成。这些字符会将方块划分为一些共边的区域。(请注意,反斜杠字符是转义的,因此\用"\\"表示。)。返回区域的数目。示例 1:输入:[ " /", "/ "]输出:2解释:2x2 网格如下:示例 2:输入:[ " /", " "]输出:1解释:2x2 网格如下:示例 3:输入:[ "\...

2021-01-25 11:26:56 319

原创 LeetCode 33. 搜索旋转排序数组(中等)

33. 搜索旋转排序数组升序排列的整数数组nums在预先未知的某个点上进行了旋转(例如,[0,1,2,4,5,6,7]经旋转后可能变为[4,5,6,7,0,1,2])。请你在数组中搜索target,如果数组中存在这个目标值,则返回它的索引,否则返回-1。示例 1:输入:nums = [4,5,6,7,0,1,2], target = 0输出:4示例2:输入:nums = [4,5,6,7,0,1,2], target = 3输出:-1示例 3...

2021-01-24 12:56:03 126 1

原创 剑指 Offer 11. 旋转数组的最小数字(简单)

剑指 Offer 11. 旋转数组的最小数字把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组[3,4,5,1,2]为[1,2,3,4,5]的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0注意:本题与LeetCode主站 154 题相同:https://leetcode-cn.com/problems/...

2021-01-24 12:24:02 90

原创 LeetCode 674. 最长连续递增序列(简单)

674. 最长连续递增序列给定一个未经排序的整数数组,找到最长且连续递增的子序列,并返回该序列的长度。连续递增的子序列可以由两个下标l和r(l < r)确定,如果对于每个l <= i < r,都有nums[i] < nums[i + 1],那么子序列[nums[l], nums[l + 1], ..., nums[r - 1], nums[r]]就是连续递增子序列。示例 1:输入:nums = [1,3,5,4,7]输出:3解释:最长连...

2021-01-24 12:00:15 206 1

原创 LeetCode 1319. 连通网络的操作次数(中等)

1319. 连通网络的操作次数用以太网线缆将n台计算机连接成一个网络,计算机的编号从0到n-1。线缆用connections表示,其中connections[i] = [a, b]连接了计算机a和b。网络中的任何一台计算机都可以通过网络直接或者间接访问同一个网络中其他任意一台计算机。给你这个计算机网络的初始布线connections,你可以拔开任意两台直连计算机之间的线缆,并用它连接一对未直连的计算机。请你计算并返回使所有计算机都连通所需的最少操作次数。如果不可能,则返...

2021-01-23 14:10:19 126

原创 剑指 Offer 10- II. 青蛙跳台阶问题(简单)

剑指 Offer 10- II. 青蛙跳台阶问题一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21示例 3:输入:n = 0输出:1提示:0 <= n <= 100我的Java代码:思路:到下一个台阶只有走一步和走两步..

2021-01-23 10:51:37 115

原创 《数据库系统概论》知识点归纳——第一章

1.1数据库系统概述4个基本概念:数据(data):描述事物的符号记录称为数据,数据是数据库中存储的基本对象,例如文本、图形、图像、音频、视频等。数据的含义称为数据的语义,数据与其语义是不可分的。 记录:计算机中表示和存储数据的一种格式或一种方法。 数据库(DataBase,DB):数据库是长期存储在计算机中、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 数据库数据具有永久存储、有组织

2021-01-23 00:50:25 1093 2

原创 LeetCode 989. 数组形式的整数加法(简单)

989. 数组形式的整数加法对于非负整数X而言,X的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果X = 1231,那么其数组形式为[1,2,3,1]。给定非负整数X的数组形式A,返回整数X+K的数组形式。示例 1:输入:A = [1,2,0,0], K = 34输出:[1,2,3,4]解释:1200 + 34 = 1234示例 2:输入:A = [2,7,4], K = 181输出:[4,5,5]解释:274 + 181 = 455...

2021-01-22 10:58:14 219 1

原创 LeetCode 628. 三个数的最大乘积(简单)

628. 三个数的最大乘积给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24注意:给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。我的Java代码:思路:要求三个数的最大乘积,其实也就只有两种情况,一种是三个最大数的乘积最大,一种是两个最小数(均是负数)和一个最

2021-01-20 16:05:14 159

原创 LeetCode 1232. 缀点成线(简单)

1232. 缀点成线在一个XY 坐标系中有一些点,我们用数组coordinates来分别记录它们的坐标,其中coordinates[i] = [x, y]表示横坐标为x、纵坐标为y的点。请你来判断,这些点是否在该坐标系中属于同一条直线上,是则返回true,否则请返回false。示例 1:输入:coordinates = [[1,2],[2,3],[3,4],[4,5],[5,6],[6,7]]输出:true示例 2:输入:coordinate...

2021-01-17 12:07:14 184 1

原创 剑指 Offer 10- I. 斐波那契数列(简单)

剑指 Offer 10- I. 斐波那契数列写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。斐波那契数列的定义如下:F(0) = 0, F(1)= 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:...

2021-01-16 15:41:38 160 1

原创 剑指 Offer 09. 用两个栈实现队列(简单)

剑指 Offer 09. 用两个栈实现队列用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:["CQue...

2021-01-16 15:06:25 138

空空如也

空空如也

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

TA关注的人

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