- 博客(44)
- 资源 (21)
- 收藏
- 关注
原创 MySQL 5.7 虚拟列 (virtual columns)
Generated Column在MySQL 5.7中,支持两种Generated Column,即Virtual Generated Column和Stored Generated Column。前者只将Generated Column保存在数据字典中(表的元数据),并不会将这一列数据持久化到磁盘上;后者会将Generated Column持久化到磁盘上,而不是每次读取的时候计算所得。Stored类型的generated columns可以用作一个物化缓存,用于复杂的条件,这些条件在运行时计算成本
2021-09-05 17:57:08 1691
原创 223. 矩形面积
给你二维平面上两个由直线构成的矩形,请你计算并返回两个矩形覆盖的总面积。每个矩形由其左下顶点和右上顶点坐标表示:第一个矩形由其左下顶点(ax1, ay1)和右上顶点(ax2, ay2)定义。 第二个矩形由其左下顶点(bx1, by1)和右上顶点(bx2, by2)定义。示例 1:输入:ax1 = -3, ay1 = 0, ax2 = 3, ay2 = 4, bx1 = 0, by1 = -1, bx2 = 9, by2 = 2输出:45示...
2021-09-30 12:20:37 94
原创 517. 超级洗衣机
假设有n台超级洗衣机放在同一排上。开始的时候,每台洗衣机内可能有一定量的衣服,也可能是空的。在每一步操作中,你可以选择任意m(1 <= m <= n) 台洗衣机,与此同时将每台洗衣机的一件衣服送到相邻的一台洗衣机。给定一个整数数组machines代表从左至右每台洗衣机中的衣物数量,请给出能让所有洗衣机中剩下的衣物的数量相等的最少的操作步数。如果不能使每台洗衣机中衣物的数量相等,则返回-1。示例 1:输入:machines = [1,0,5]输出:3...
2021-09-29 23:11:37 79
原创 Log4j2的additivity属性(是否去除冗余日志)
log4j的additivity属性值默认是设置为true的。可参考其api,地址:http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Category.html#setAdditivityboolean。描述:Additivity is set to true by default, that is children inherit the appenders of their ancestors by default. If th
2021-09-29 13:00:09 2724
原创 639. 解码方法 II
一条包含字母A-Z的消息通过以下的方式进行了编码:'A' -> 1'B' -> 2...'Z' -> 26要解码一条已编码的消息,所有的数字都必须分组,然后按原来的编码方案反向映射回字母(可能存在多种方式)。例如,"11106"可以映射为:"AAJF"对应分组(1 1 10 6) "KJF"对应分组(11 10 6)注意,像(1 11 06)这样的分组是无效的,因为"06"不可以映射为'F',因为"6"与"06"不同。...
2021-09-27 23:06:27 236
原创 583. 两个字符串的删除操作
给定两个单词word1和word2,找到使得word1和word2相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。示例:输入: "sea", "eat"输出: 2解释: 第一步将"sea"变为"ea",第二步将"eat"变为"ea"提示:给定单词的长度不超过500。 给定单词中的字符只含有小写字母。题解:code:class Solution { public int minDistance(String word1, Str...
2021-09-26 23:15:22 62
原创 371. 两整数之和
给你两个整数a和b,不使用运算符+和-,计算并返回两整数之和。示例 1:输入:a = 1, b = 2输出:3示例 2:输入:a = 2, b = 3输出:5提示:-1000 <= a, b <= 1000code:int getSum(int a, int b) { int sum, carry; sum = a ^ b; //异或这里可看做是相加但是不显现进位,比如5 ^ 3 ...
2021-09-26 23:12:42 107
原创 326. 3的幂
给定一个整数,写一个函数来判断它是否是 3的幂次方。如果是,返回true;否则,返回false。整数n是 3 的幂次方需满足:存在整数x使得n == 3x示例 1:输入:n = 27输出:true示例 2:输入:n = 0输出:false示例 3:输入:n = 9输出:true示例 4:输入:n = 45输出:false提示:-231<= n <= 231- 1code:class Sol...
2021-09-23 20:33:42 123
原创 725. 分隔链表
给你一个头结点为head的单链表和一个整数k,请你设计一个算法将链表分隔为k个连续的部分。每部分的长度应该尽可能的相等:任意两部分的长度差距不能超过 1 。这可能会导致有些部分为 null 。这k个部分应该按照在链表中出现的顺序排列,并且排在前面的部分的长度应该大于或等于排在后面的长度。返回一个由上述k部分组成的数组。示例 1:输入:head = [1,2,3], k = 5输出:[[1],[2],[3],[],[]]解释:第一个元素 output...
2021-09-22 20:01:48 57
原创 45. 跳跃游戏 II
给你一个非负整数数组nums,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。假设你总是可以到达数组的最后一个位置。示例 1:输入: nums = [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳1步,然后跳3步到达数组的最后一个位置。示例 2:输入: nums = [2,3,0,1,4]输出: 2...
2021-09-21 23:33:59 114
原创 66. 加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits = [0]输出:[1]...
2021-09-21 08:48:08 60
原创 58. 最后一个单词的长度
给你一个字符串s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词是指仅由字母组成、不包含任何空格字符的最大子字符串。示例 1:输入:s = "Hello World"输出:5示例 2:输入:s = " fly me to the moon "输出:4示例 3:输入:s = "luffy is still joyboy"输出:6提示:1 <= s.length <= 104 s仅有英文...
2021-09-20 17:09:54 80
原创 673. 最长递增子序列的个数
给定一个未排序的整数数组,找到最长递增子序列的个数。示例 1:输入: [1,3,5,4,7]输出: 2解释: 有两个最长递增子序列,分别是 [1, 3, 4, 7] 和[1, 3, 5, 7]。示例 2:输入: [2,2,2,2,2]输出: 5解释: 最长递增子序列的长度是1,并且存在5个子序列的长度为1,因此输出5。注意:给定的数组长度不超过 2000 并且结果一定是32位有符号整数。题解:code:class Solution { ...
2021-09-20 17:01:01 103
原创 650. 只有两个键的键盘
最初记事本上只有一个字符'A'。你每次可以对这个记事本进行两种操作:Copy All(复制全部):复制这个记事本中的所有字符(不允许仅复制部分字符)。 Paste(粘贴):粘贴上一次复制的字符。给你一个数字n,你需要使用最少的操作次数,在记事本上输出恰好n个'A'。返回能够打印出n个'A'的最少操作次数。示例 1:输入:3输出:3解释:最初, 只有一个字符 'A'。第 1 步, 使用 Copy All 操作。第 2 步, 使用 Paste 操作来...
2021-09-20 15:34:00 45
原创 maven 多模块jar pom打包发布问题总结
假如一个maven项目下分为几个module,分别是不同的服务,以及common模块,结构如下:shopping├── common├── mail-service├── order-service└── pay-service则shopping pom大概率是如下内容: <modelVersion>4.0.0</modelVersion> <groupId>com.test.shop</groupId> <
2021-09-20 13:56:35 956
原创 5861. 出租车的最大盈利
你驾驶出租车行驶在一条有n个地点的路上。这n个地点从近到远编号为1到n,你想要从1开到n,通过接乘客订单盈利。你只能沿着编号递增的方向前进,不能改变方向。乘客信息用一个下标从0开始的二维数组rides表示,其中rides[i] = [starti, endi, tipi]表示第i位乘客需要从地点starti前往endi,愿意支付tipi元的小费。每一位你选择接单的乘客i,你可以盈利endi- starti+ tipi元。你同时...
2021-09-19 21:33:12 209
原创 从双倍数组中还原原数组
一个整数数组original可以转变成一个双倍数组changed,转变方式为将original中每个元素值乘以 2加入数组中,然后将所有元素随机打乱。给你一个数组changed,如果change是双倍数组,那么请你返回original数组,否则请返回空数组。original的元素可以以任意顺序返回。示例 1:输入:changed = [1,3,4,2,6,8]输出:[1,3,4]解释:一个可能的 original 数组为 [1,3,4] :...
2021-09-18 23:53:53 303
原创 使数组连续的最少操作数
给你一个整数数组nums。每一次操作中,你可以将nums中任意一个元素替换成任意整数。如果nums满足以下条件,那么它是连续的:nums中所有元素都是互不相同的。 nums中最大元素与最小元素的差等于nums.length - 1。比方说,nums = [4, 2, 5, 3]是连续的,但是nums = [1, 2, 3, 5, 6]不是连续的。请你返回使nums连续的最少操作次数。示例 1:输入:nums = ...
2021-09-18 23:51:03 1873
原创 292. Nim 游戏
你和你的朋友,两个人一起玩Nim 游戏:桌子上有一堆石头。 你们轮流进行自己的回合,你作为先手。 每一回合,轮到的人拿掉1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为n的情况下赢得游戏。如果可以赢,返回true;否则,返回false。示例 1:输入:n = 4输出:false 解释:如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1 块、2 块 还是 ...
2021-09-18 22:02:42 125
原创 212. 单词搜索 II
给定一个m x n二维字符网格board和一个单词(字符串)列表words,找出所有同时在二维网格和字典中出现的单词。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一个单词中不允许被重复使用。示例 1:输入:board = [["o","a","a","n"],["e","t","a","e"],["i","h","k","r"],["i","f","l","v"]], words = [...
2021-09-16 23:55:55 138
原创 162. 寻找峰值
峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设nums[-1] = nums[n] = -∞。你必须实现时间复杂度为O(log n)的算法来解决此问题。示例 1:输入:nums = [1,2,3,1]输出:2解释:3 是峰值元素,你的函数应该返回其索引 2。示例2:输入:nums = [1,2,1,3,5,6,4]输出:1 ...
2021-09-15 21:46:16 64
原创 Gson类的@SerializedName注解
如果请求传输的key名都为大写的字母,然后类的变量又想用驼峰命名法来写,再用Gson进行转换为json格式字符串,此时可以用@SerializedName注解。public class Demo { public static void main(String[] args) { TestJson testJson = new TestJson("你好"); String s = new Gson().toJson(testJson); Sy
2021-09-15 13:52:03 630
原创 524. 通过删除字母匹配到字典里最长单词
给你一个字符串s和一个字符串数组dictionary作为字典,找出并返回字典中最长的字符串,该字符串可以通过删除s中的某些字符得到。如果答案不止一个,返回长度最长且字典序最小的字符串。如果答案不存在,则返回空字符串。示例 1:输入:s = "abpcplea", dictionary = ["ale","apple","monkey","plea"]输出:"apple"示例 2:输入:s = "abpcplea", dictionary = ["a","b",...
2021-09-14 21:50:22 49
原创 447. 回旋镖的数量
给定平面上n对互不相同的点points,其中points[i] = [xi, yi]。回旋镖是由点(i, j, k)表示的元组 ,其中i和j之间的距离和i和k之间的距离相等(需要考虑元组的顺序)。返回平面上所有回旋镖的数量。示例 1:输入:points = [[0,0],[1,0],[2,0]]输出:2解释:两个回旋镖为 [[1,0],[0,0],[2,0]] 和 [[1,0],[2,0],[0,0]]示例 2:输入:points ...
2021-09-13 21:41:08 62
原创 678. 有效的括号字符串
给定一个只包含三种字符的字符串:(,)和*,写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则:任何左括号(必须有相应的右括号)。 任何右括号)必须有相应的左括号(。 左括号(必须在对应的右括号之前)。 *可以被视为单个右括号),或单个左括号(,或一个空字符串。 一个空字符串也被视为有效字符串。示例 1:输入: "()"输出: True示例 2:输入: "(*)"输出: True示例 3:输入: "(*)...
2021-09-12 19:44:03 148
原创 .gitignore详解
Git忽略文件.gitignore详解在工程中,并不是所有文件都需要保存到版本库中的,例如“target”目录及目录下的文件就可以忽略。在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件或目录。Git 忽略规则优先级在 .gitingore 文件中,每一行指定一个忽略规则,Git 检查忽略规则的时候有多个来源,它的优先级如下(由高到低):从命令行中读取可用的忽略规则当前目录定义的规则父级目录定义的规则,依次递推$GI
2021-09-11 23:01:56 1074
原创 3. 黑白翻转棋
在n*m大小的棋盘中,有黑白两种棋子,黑棋记作字母"X", 白棋记作字母"O",空余位置记作"."。当落下的棋子与其他相同颜色的棋子在行、列或对角线完全包围(中间不存在空白位置)另一种颜色的棋子,则可以翻转这些棋子的颜色。「力扣挑战赛」黑白翻转棋项目中,将提供给选手一个未形成可翻转棋子的棋盘残局,其状态记作chessboard。若下一步可放置一枚黑棋,请问选手最多能翻转多少枚白棋。注意:若翻转白棋成黑棋后,棋盘上仍存在可以翻转的白棋,将可以继续翻转白棋 输入数据保证...
2021-09-11 18:14:13 4319
原创 LCP 39. 无人机方阵
在 「力扣挑战赛」 开幕式的压轴节目 「无人机方阵」中,每一架无人机展示一种灯光颜色。 无人机方阵通过两种操作进行颜色图案变换:调整无人机的位置布局 切换无人机展示的灯光颜色给定两个大小均为N*M的二维数组source和target表示无人机方阵表演的两种颜色图案,由于无人机切换灯光颜色的耗能很大,请返回从source到target最少需要多少架无人机切换灯光颜色。注意:调整无人机的位置布局时无人机的位置可以随意变动。示例 1:输入:source = [[1,...
2021-09-11 17:58:16 714
原创 LCP 40. 心算挑战
「力扣挑战赛」心算项目的挑战比赛中,要求选手从N张卡牌中选出cnt张卡牌,若这cnt张卡牌数字总和为偶数,则选手成绩「有效」且得分为cnt张卡牌数字总和。给定数组cards和cnt,其中cards[i]表示第i张卡牌上的数字。 请帮参赛选手计算最大的有效得分。若不存在获取有效得分的卡牌方案,则返回 0。示例 1:输入:cards = [1,2,8,9], cnt = 3输出:18解释:选择数字为 1、8、9 的这三张卡牌,此时可获得最大的有效得分 1+8...
2021-09-11 17:54:52 459
原创 修改依赖jar中的代码
方法一、直接复制一份想要扩展的类,在项目中创建同包同名的类。(根据加载顺序可知,如果我们工程中有自己的和jar中包名类名一样的文件,加载时会默认加载我们自己写的文件,如果我们没写才会去jar包中找。)方法二、AOP方法三、代理模式 / 装饰模式方法四、继承你想要扩展的类,重写想要扩展的方法方法五、直接修改这个类的字节码,然后重新打包成jar文件修改jar包中的源码,将jar包反编译重新生成一个jar包...
2021-09-11 11:43:33 880
原创 600. 不含连续1的非负整数
给定一个正整数 n,找出小于或等于 n 的非负整数中,其二进制表示不包含连续的1的个数。示例 1:输入: 5输出: 5解释: 下面是带有相应二进制表示的非负整数<= 5:0 : 01 : 12 : 103 : 114 : 1005 : 101其中,只有整数3违反规则(有两个连续的1),其他5个满足规则。说明:1 <= n <= 109题解:遍历的代价太大了,而且反正要求的是二进制不连续的1;那就用dfs从1开始,按位增。如果当前结尾是1...
2021-09-11 10:40:10 78
原创 1894. 找到需要补充粉笔的学生编号
一个班级里有n个学生,编号为0到n - 1。每个学生会依次回答问题,编号为0的学生先回答,然后是编号为1的学生,以此类推,直到编号为n - 1的学生,然后老师会重复这个过程,重新从编号为0的学生开始回答问题。给你一个长度为n且下标从0开始的整数数组chalk和一个整数k。一开始粉笔盒里总共有k支粉笔。当编号为i的学生回答问题时,他会消耗chalk[i]支粉笔。如果剩余粉笔数量严格小于chalk[i],那么学生i需要补充粉笔。请...
2021-09-10 22:32:00 97
原创 68. 文本左右对齐
给定一个单词数组和一个长度maxWidth,重新排版单词,使其成为每行恰好有maxWidth个字符,且左右两端对齐的文本。你应该使用“贪心算法”来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格' '填充,使得每行恰好有maxWidth个字符。要求尽可能均匀分配单词间的空格数量。如果某一行单词间的空格不能均匀分配,则左侧放置的空格数要多于右侧的空格数。文本的最后一行应为左对齐,且单词之间不插入额外的空格。说明:单词是指由非空格字符组成的字符序列。 每个...
2021-09-09 21:40:13 185
原创 502. IPO
假设 力扣(LeetCode)即将开始IPO。为了以更高的价格将股票卖给风险投资公司,力扣 希望在 IPO 之前开展一些项目以增加其资本。 由于资源有限,它只能在 IPO 之前完成最多k个不同的项目。帮助 力扣 设计完成最多k个不同项目后得到最大总资本的方式。给你n个项目。对于每个项目i,它都有一个纯利润profits[i],和启动该项目需要的最小资本capital[i]。最初,你的资本为w。当你完成一个项目时,你将获得纯利润,且利润将被添加到你的总资本中。总而言...
2021-09-08 23:17:30 84
原创 1221. 分割平衡字符串
在一个平衡字符串中,'L'和'R'字符的数量是相同的。给你一个平衡字符串s,请你将它分割成尽可能多的平衡字符串。注意:分割得到的每个字符串都必须是平衡字符串。返回可以通过分割得到的平衡字符串的最大数量。示例 1:输入:s = "RLRRLLRLRL"输出:4解释:s 可以分割为 "RL"、"RRLL"、"RL"、"RL" ,每个子字符串中都包含相同数量的 'L' 和 'R' 。示例 2:输入:s = "RLLLLRRRLR"输出:3解释:s 可以分割...
2021-09-07 21:24:43 113
原创 704. 二分查找
给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1提示:你可以...
2021-09-06 08:50:30 105
原创 5864. 游戏中弱角色的数量
你被安排了 n个任务。任务需要花费的时间用长度为 n的整数数组tasks表示,第 i个任务需要花费tasks[i]小时完成。一个 工作时间段中,你可以 至多连续工作sessionTime个小时,然后休息一会儿。你需要按照如下条件完成给定任务:如果你在某一个时间段开始一个任务,你需要在 同一个时间段完成它。完成一个任务后,你可以 立马开始一个新的任务。你可以按 任意顺序完成任务。给你tasks 和sessionTime,请你按照上述要求,返回完成所有任务所需要的...
2021-09-05 13:00:08 280
原创 470. 用 Rand7() 实现 Rand10()
已有方法rand7可生成 1 到 7 范围内的均匀随机整数,试写一个方法rand10生成 1 到 10 范围内的均匀随机整数。不要使用系统的Math.random()方法。示例 1:输入: 1输出: [7]示例 2:输入: 2输出: [8,4]示例 3:输入: 3输出: [8,1,10]提示:rand7已定义。 传入参数:n表示rand10的调用次数。进阶:rand7()调用次数的期望值是多少? 你能否尽量少...
2021-09-05 12:25:53 52
原创 5863. 统计特殊四元组
给你一个下标从 0 开始的整数数组nums,返回满足下述条件的不同四元组(a, b, c, d)的数目:nums[a] + nums[b] + nums[c] == nums[d],且 a < b < c < d示例 1:输入:nums = [1,2,3,6]输出:1解释:满足要求的唯一一个四元组是 (0, 1, 2, 3) 因为 1 + 2 + 3 == 6 。示例 2:输入:nums = [3,3,6,4,5]输出:0解释:[...
2021-09-05 11:56:14 234
原创 完成任务的最少工作时间段
你被安排了 n个任务。任务需要花费的时间用长度为 n的整数数组tasks表示,第 i个任务需要花费tasks[i]小时完成。一个 工作时间段中,你可以 至多连续工作sessionTime个小时,然后休息一会儿。你需要按照如下条件完成给定任务:如果你在某一个时间段开始一个任务,你需要在 同一个时间段完成它。完成一个任务后,你可以 立马开始一个新的任务。你可以按 任意顺序完成任务。给你tasks 和sessionTime,请你按照上述要求,返回完成所有任务所需要的...
2021-09-04 21:26:25 759
TXT全本小说下载工具V5.0绿色版
2021-04-28
尚硅谷SpringBoot视频教程(上)核心技术篇,(下)整合篇
2018-06-23
例年软件设计师考试真题解析(已经考过了)
2018-01-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人