自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 剑指offer 刷题笔记

1.二维数组的查找在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思考从右上角开始查找,每次比较目标值和当前位置,如果小于目标值,行索引++,大于目标值,列所索引++,否则返回true代码class Solution { public b...

2020-03-01 14:00:22 260

原创 动态规划算法 - LC354. 俄罗斯套娃信封问题

这道题是最长上升子序列的变种题,难点在于:首先需要先对给定的二维数组进行排序后,再求上升子序列。

2024-04-08 09:00:19 361

原创 滑动窗口算法 - LCR 014. 字符串的排列

接前文,此题也是套用滑窗模板,但是在两个细节点处稍有不同。

2024-04-04 17:55:41 199

原创 滑动窗口算法 - LC76 最小覆盖子串

这道进阶题其实不算难,但细节拉满,漏掉一处都无法通过,我将解题的关键点都注释在代码中。,介绍了滑窗的基础题目和滑窗解法模板,这次带来滑窗进阶题解。所有字符的子串,则返回空字符串。所有字符的最小子串。

2024-04-03 20:42:10 287

原创 滑动窗口算法 - LC3 无重复字符的最长子串

2.用一个map记录[l,r]中每个字符出现的次数,每次循环时对次数进行判断,从而判断是否需要移动左指针。因为题目是求不重复的子串,那么我们就要保证每次新进入到滑窗内的字符,即r所在位置的字符,它在map里对应的出现次数==1,否则,说明当前[l,r]中存在重复字符,我们要修改map[s[l]]--,同时向后移动左指针l。因为核心使用l和r指针形成滑动窗口[l , r ],在两层for循环里,外层移动r指针,里层移动l指针。所在字符出现次数是否>1,而移动的却是。这里重点是内层的循环,判断的是。

2024-04-03 09:14:42 338

原创 二分查找算法刷题记录 -LC34

该题是基于LC704的拓展题,也是二分查找的各个细节点所在,做透这个题,二分查找的题基本上都可以解决。

2024-04-01 21:46:56 248

原创 二分查找算法刷题记录-LC704

(1)如果nums[mid]>target,那么说明目标值所在index应该在[l,mid-1],这是一个闭区间,由于我的解法是右开区间写法,那么转化成开区间[1,mid),因此需要赋值right=mid。(2)如果nums[mid]

2024-04-01 09:42:40 470

原创 个人建站的过程和踩坑经验

最近搭建了一个web应用,主要给用户提供免费的小工具使用,特开此贴记录下,包括从等过程宝贵的踩坑经验。1.服务器:腾讯云轻量应用服务器2.域名:腾讯云购买 www.iliketools.cn3.部署工具:宝塔面板(推荐个人建站一定使用这个,能节省不少时间)3.前端:vue3(边看边学花了3天,算是凑合能写了)4.后端:golang+python(对我来说最简单的两种语言,dddd)

2024-03-31 16:46:45 258

原创 中间件 八股

中间件 八股

2022-10-27 22:32:56 179 1

原创 计网&操作系统 八股

计网&http 八股

2022-10-26 21:55:15 566

原创 0819-随手记

今天看书发现es中搜索时可以对字符组成相近的字符串进行匹配搜索,实际上设计算法来自于https://leetcode-cn.com/problems/edit-distance/顺便把这道题也刷一下https://leetcode-cn.com/problems/shortest-distance-to-a-character/...

2021-08-19 12:57:23 149

原创 facebookgo/inject 源码学习

document链接:https://pkg.go.dev/github.com/facebookgo/injectinject.go中两个核心数据结构:// An Object in the Graph.type Object struct { Value interface{} Name string // Optional Complete bool // If true, the Va..

2021-08-17 17:57:36 406

原创 SpringBoot整合cxf jar包运行报错 完美解决

项目使用到SpringBoot整合cxf,为了在Linux服务器上运行,在idea中调试完毕后,通过maven打jar包,上传到服务器运行。然而,每次打完jar包运行之后,总有如下报错:org.apache.cxf.BusException: No binding factory for namespace http://schemas.xmlsoap.org/wsdl/soap/ registered."找了很多博客,都没有解决问题,常见的博客解决手段:1.SpringBoot和cxf依赖

2021-04-01 13:32:45 1620

原创 一个关于layui table渲染的问题

官网推荐方式是新建一个table标签,指定id(例如id="pdoTable"),然后用table.render({ elem:"#pdoTable", //....省略其他加载项})如此便可渲染一个layui风格的table。在渲染成功后,我尝试取id="demo"的table进行操作,但是函数操作失效。反复查看,发现代码逻辑无错误,检查网页元素发现,layui table的渲染方式比较特别。它不是在原来的table标签上加载内容,而是在原来的table下方生成..

2021-03-02 17:30:15 291

原创 模型预测控制记录

Matlab的MPC工具箱用户手册:https://www.mathworks.com/help/pdf_doc/mpc/mpc_ug.pdf官方文档:https://ww2.mathworks.cn/products/model-predictive-control.html

2020-12-02 12:51:25 172

原创 C#客户端和Java服务端Thrift通信

最近帮老师做项目,需要用C#作为客户端做传输数据给Java服务端,之前的代码是用原生Socket写的,Javkuana端这边非常的冗余复杂,难以维护,因此想到使用rpc框架来实现,方便后续的扩展和维护。查阅资料发现thrift框架提供了完整的序列化和传输。关于rpc的框架对比,见:https://tech.meituan.com/2015/02/26/serialization-vs-deserialization.htmlthrift这个框架的文档太少了,想真的把框架落地使用太难了555...

2020-11-01 20:55:16 1099 4

原创 leetcode 34 在排序数组中查找元素的第一个和最后一个位置

给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(log n) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例2:输入: nums = [5,7,7,8,8,10], target = 6输出: [-1,-1]来源:力扣(LeetCode)链接:https://leet...

2020-07-18 20:35:25 122

原创 记录实习

202007.02改前辈的代码,发现新知识。其中一条sql中出现了这个"INSERT INTO `xxx` (xx, xx) " + "VALUES(#{xx}, #{xx}) " + "ON DUPLICATE KEY UPDATE Title = #{xx}, Modify_Time = now()"其中的ON DUPLICATE KEY UPDATE,表示如果有重复的行记录,那么更新行记录。没有则插入新的行。怎么判断行记录是否重复?mysql官网文

2020-07-02 17:54:41 173

原创 rpc框架编写 知识点查漏补缺

1.Java8中提供的completeFuture类2.连接zookeeper服务的框架CuratorFramework介绍链接如下:https://blog.csdn.net/xlt1217118135/article/details/91047304

2020-06-30 11:56:32 191

原创 leetcdoe 122. 买卖股票的最佳时机 II

给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(股票价格 = 3)的时候买入,在第 ...

2020-06-28 15:07:53 1628

原创 leetcode 72. 编辑距离

给你两个单词word1 和word2,请你计算出将word1转换成word2 所使用的最少操作数。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例1:输入:word1 = "horse", word2 = "ros"输出:3解释:horse -> rorse (将 'h' 替换为 'r')rorse -> rose (删除 'r')rose -> ros (删除 'e')示例2:输入:word1 = "int...

2020-06-28 09:51:42 105

原创 leetcode 打家劫舍1,2,3

198. 打家劫舍难度简单897你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1...

2020-06-24 14:59:05 205

原创 leetcode 300. 最长上升子序列

给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是[2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为O(n2) 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-increasing-subsequence著作权归领扣网络所有。商...

2020-06-23 18:19:15 106

原创 leetcode 1143. 最长公共子序列

给定两个字符串text1 和text2,返回这两个字符串的最长公共子序列的长度。一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串没有公共子序列,则返回 0。示例 1:输入:text1 = "abcde", text2 ...

2020-06-23 17:11:37 195

原创 leetcode 67. 二进制求和

给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字1和0。示例1:输入: a = "11", b = "1"输出: "100"示例2:输入: a = "1010", b = "1011"输出: "10101"提示:每个字符串仅由字符 '0' 或 '1' 组成。1 <= a.length, b.length <= 10^4字符串如果不是 "0" ,就都不含前导零。来源:力扣(LeetCode)链接:htt...

2020-06-23 11:57:20 110

原创 leetcode150. 逆波兰表达式求值

根据 逆波兰表示法,求表达式的值。有效的运算符包括+,-,*,/。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例1:输入: ["2", "1", "+", "3", "*"]输出: 9解释: 该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9示例2:输入: ["4", "13", "5", "/", "+"...

2020-06-22 13:06:48 93

原创 leetcode 53.连续子数组的最大和

输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof著作权归领扣网络所有。商业转载...

2020-06-21 20:19:40 160

原创 leetcode 343.剪绳子

给你一根长度为 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 = 3 + 3 + 4, 3 ×..

2020-06-21 14:33:29 141

原创 leetcode 15. 三数之和

给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/3sum著作权归...

2020-06-20 17:51:40 169

原创 面试之多线程循环打印A、B、C

题目:有A、B、C 三个线程,A线程 输出“A”,B线程 输出“B”,C线程 输出“C”,要求同时启动3个线程,按照顺序输出“ABC”,循环10次,请使用代码实现。这里贴一下我自己写的代码,使用Synchronized,wait,notify实现:最后打印完结束程序这里用的System.exit(0),看了别人的答案,感觉每个线程中加for循环10次去获取锁,这样应该更合适一些。package JUCTest;import java.security.cert.TrustAnch.

2020-06-20 14:10:42 639

原创 leetcode 31. 下一个排列

实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/next-permutation著作权归领扣网络所有。商业

2020-06-20 11:44:22 118

原创 leetcode 297. 二叉树的序列化与反序列化

序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。示例:你可以将以下二叉树: 1 / \ 2 3 / \ 4 5序列化为 "[1,2,3,null...

2020-06-19 16:31:54 122

原创 leetcode125 验证回文串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: false来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-palindrome著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明

2020-06-19 10:05:33 117

原创 124. 二叉树中的最大路径和

给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例2:输入: [-10,9,20,null,null,15,7] -10/ \9 20/ \15 7输出: 42来源:力扣(LeetCode)链接:https://leetcod...

2020-06-18 15:57:06 148

原创 leetcode1014 最佳观光组合

给定正整数数组A,A[i]表示第 i 个观光景点的评分,并且两个景点i 和j之间的距离为j - i。一对景点(i < j)组成的观光组合的得分为(A[i] + A[j] + i- j):景点的评分之和减去它们两者之间的距离。返回一对观光景点能取得的最高分。示例:输入:[8,1,5,2,6]输出:11解释:i = 0, j = 2, A[i] + A[j] + i - j = 8 + 5 + 0 - 2 = 11提示:2 <= A.length ...

2020-06-17 22:08:00 167

原创 leetcode 面试题 04.04. 检查平衡性

实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4] 1 / \ 2 2 / \ 3 3/ \4 4返回false 。来源:力扣(Lee...

2020-06-17 13:13:33 173

原创 leetcode173 二叉树搜索迭代器

实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。调用 next() 将返回二叉搜索树中的下一个最小的数。示例:BSTIterator iterator = new BSTIterator(root);iterator.next(); // 返回 3iterator.next(); // 返回 7iterator.hasNext(); // 返回 trueiterator.next(); // 返回 9iterator.hasNext(); //...

2020-06-16 18:49:31 142

原创 leetcode14 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母a-z。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-common-prefix著作权归领扣网...

2020-06-15 17:19:06 99

原创 leetcode1367 二叉树中的列表

给你一棵以root为根的二叉树和一个head为第一个节点的链表。如果在二叉树中,存在一条一直向下的路径,且每个点的数值恰好一一对应以head为首的链表中每个节点的值,那么请你返回 True ,否则返回 False 。一直向下的路径的意思是:从树中某个节点开始,一直连续向下的路径。示例 1:输入:head = [4,2,8], root = [1,4,4,null,2,2,null,1,null,6,8,null,null,null,null,1,3]输出:true解释:...

2020-06-14 23:14:08 136

原创 leetcode101 对称二叉树

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2/ \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/symmetric-tree著作权归领扣网络所有...

2020-06-13 16:58:43 73

空空如也

空空如也

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

TA关注的人

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