自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot快速写增删改查接口

4.1 类可以另写一个文件,并用alt+insert的形式设置构造函数,和getter,setter。4.返回需要的数据–string,或者直接是一个类也行。这里要打开mysql,并且创建数据库。2.建controller类。

2024-01-25 17:54:18 932 1

原创 全栈开发Restful服务

springboot-starter-web就是用来写请求的组件。Swagger(端口文件自动生成工具)

2024-01-03 16:57:00 381

原创 backend-learning: personal blog(1)

后端学习

2023-10-26 17:22:40 152

原创 二叉树读入与输出(注意cin最后一个值的判断)

【代码】二叉树读入与输出(注意cin最后一个值的判断)

2023-10-10 13:48:18 128

原创 向上向下走(递归回溯)

【代码】向上向下走(递归回溯)

2023-09-28 12:59:40 108

原创 问有几种新增航班方法可以去目标岛(gpt对回溯的条件判断不严苛,容易漏)

有n个岛,m班双向航线,航线用x,y表示x和y两个岛之间是有航班的,我要从s岛去t岛,请问是否可以?

2023-09-14 19:24:03 281

原创 城市修建(逆天的取值范围) long long, numeric_limits<long long>::max()

有一个城市需要修建,给你N个民居的坐标X,Y,问把这么多民居全都包进城市的话,城市所需最小面积是多少(注意,城市为平行于坐标轴的正方形)下面为N行,每行两个数字Xi,Yi,表示该居民的坐标(-1e9≤xi,yi≤1e9)第一行为N,表示民居数目(2≤N≤1000)时间限制:1S内存限制:64MB。

2023-09-11 19:39:58 202

原创 GDB的C++调试方法

大功告成了,如果使用vscode之类的,观察变量的变化将会更方便,这里没有使用watches来监控变量,是因为我觉得就算是用了,也是不好观察,输出不是格式化,比较繁琐。问文件主要是一个dfs函数,搜索输出最短,因为题目说只有一条可行路径,因此用dfs即可,不需要用bfs。可以看到,代码当中递归顺序是 上, 下, 左, 右;想要在这里设置断点,然后待多走3步之后,查看走的情况,再返回。gdb调试开始后,为了方便看运行到的位置,可以开启代码行。当你想要快速运行完当前函数时,输入该命令即可。

2023-09-10 20:27:35 384

原创 HJ67 24点游戏算法(递归典中典)

【代码】HJ67 24点游戏算法(递归典中典)

2023-08-26 10:05:48 106

原创 如何传递外界参数进函数?用&, void move(vector<int>& window,int& cursor,char operation, int num)

HJ64 MP3光标位置。

2023-08-22 16:03:10 30

原创 HJ61 放苹果 (动态规划 || 递归)

【代码】HJ61 放苹果 (动态规划 || 递归)

2023-08-22 14:12:53 53

原创 HJ59 找出字符串中第一个只出现一次的字符 使用map时,索引直接用,不用-‘a’,循环输出时用first, second

【代码】HJ59 找出字符串中第一个只出现一次的字符 使用map时,索引直接用,不用-‘a’,循环输出时用first, second。

2023-08-21 11:43:02 29

原创 HJ48 从单向链表中删除指定值的节点 (链表需要用class来写,构造函数要写,初始化的是有*号表示这是指针)

【代码】HJ48 从单向链表中删除指定值的节点 (链表需要用class来写,构造函数要写,初始化的是有*号表示这是指针)

2023-08-18 16:09:43 37

原创 迷宫DFS问题(二维vector, pair,模板题)

【代码】迷宫DFS问题(二维vector, pair,模板题)

2023-08-17 17:26:49 684

原创 HJ41 称砝码,set相关操作

【代码】HJ41 称砝码,set相关操作。

2023-08-17 15:58:00 39

原创 HJ36 字符串加密(find函数能用就用,string也可以push_back())

【代码】HJ36 字符串加密(find函数能用就用,string也可以push_back())

2023-08-16 14:45:55 61

原创 HJ33 整数与IP地址间的转换(精辟的位移运算和scanf的分割录入变量)

组合起来即为:00001010 00000000 00000011 11000001,转换为10进制数就是:167773121,即该IP地址转换后的数字就是它了。原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成。每段数字 相对应的二进制数。举例:一个ip地址为10.0.3.193。

2023-08-15 15:21:52 114

原创 單詞倒排,典中典

【代码】單詞倒排,典中典。

2023-08-14 11:06:46 67

原创 剑指offer day1

C他妈了,老子不信搞不完这差不多两百题,冲他妈地。

2023-03-15 13:32:52 191 1

原创 JianZhi Offer JZ35

Linkedlist

2023-02-20 22:13:42 54

原创 Lab5: Copy-on-Write

Copy-on-Write

2023-02-10 14:35:23 385

原创 Lab4: Traps

traps mechanism

2023-02-09 12:01:51 352

原创 xv6-lab3: page table

page table

2023-01-10 21:46:28 921

原创 xv6-lab2: system call

mit6.S028 xv6 lab2 syscall

2023-01-05 20:21:05 463

原创 leetcode-中等题-17. 电话号码的字母组合(回溯三)

https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/submissions/这道题目涉及到了字符String的相关操作,很久没回忆了,有点生疏,不过最后还是可以自己做出来了。需要注意以下几点:String的长度需要变化的时候,记得使用StringBuilder类,而不是Linkedlist<String>字符的'1','2'等数字转化为int的时候并不与int的1,2对应,需要减去'0'来得到相对的

2022-04-23 16:38:58 296

原创 leetcode-中等题-216. 组合总和 III(回溯2)

第一次感觉我的思路比参考答案要清晰一点诶。清晰在递归函数的终止条件那儿,这样就不需要传入这么多的参数了。//按照回溯算法处理本题的话,我现在只能想到利用递归函数来处理// 函数参数:(k, n, 开始遍历位置startIndex)// 返回:result// 终止条件:if(path.size == k) return;// 处理逻辑:// for(int i = startIndex; i < n - (k - path.size()) + 1; i++){//

2022-04-21 16:29:26 217

原创 leetcode-中等题-77. 组合(回溯-遇到LinkedList地址变动问题)

LinkedList地址变动会使得与之相关的变量都跟着出现变动。

2022-04-21 11:39:27 101

原创 leetcode-中等题-669. 修剪二叉搜索树

下面的注释是我写题的第一版草稿,还有错误的地方,比如说return的值,修改比较多的是middle生成的地方,还有什么时候初始化roothttps://leetcode-cn.com/problems/trim-a-binary-search-tree/submissions/// 怪不得我说和构造平衡二叉树的题目有点像,就直接从中间分割就行了// int middle = right - left / 2 + left; 偶数就是偏左,奇数因为略去小数位,就是中间// 递归函数://

2022-04-18 16:55:53 179

原创 leetcode-中等题-669. 修剪二叉搜索树

leetcode-中等题-669. 修剪二叉搜索树这个比405简单,两次AC //与405的删除节点是差不多意思,只不多删除节点是某一个点,而这里是一段 // 传入参数:root low high// 返回:root// 终止条件:遇到空节点,则返回(不是处理节点的操作)// 处理逻辑:(当遍历到cur.val不在[low, high]时)// 1.左右都空,直接cur == null(后期可查看是否可以省略)(答:不可,因为要引用cur.val)// 2.其他,

2022-04-18 15:56:50 149

原创 leetcode-中等题-450.删除二叉搜索树中的节点

https://leetcode-cn.com/problems/delete-node-in-a-bst/https://leetcode-cn.com/problems/delete-node-in-a-bst/这里需要考虑的条件挺多的,但实际码起来好像也不算太难,最后注意cur指针的变化会使得后面return的时候会丢失值,所以使用root来return// 首先是要寻找key所在位置,BFT可以使用中序遍历// 考虑递归函数:// 传入参数:root key// 返回:root

2022-04-18 15:19:03 146

原创 leetcode-中等题-701.二叉搜索树中的插入操作

https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/因为是BST,所以我第一个想到的就是 按照大小来往下走。用的是迭代的方法,至于遍历,还没想好,不过这个题自己写出来了。记得使用虚拟头节点保留根节点。class Solution { public TreeNode insertIntoBST(TreeNode root, int val) { TreeNode dummyNode = root;

2022-04-16 17:15:48 169

原创 leetcode-中等题-236. 二叉树的最近公共祖先,235. 二叉搜索树的最近公共祖先

https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/这两道题目差别在于一个二叉树有序,一个无序。那么,无序的就所有的分支都回溯完,无序的则可以使用中序遍历,往特定的方向去回溯,减少递归次数。236.class Solution { public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {

2022-04-16 17:12:36 331

原创 leetcode-简单题-501. 二叉搜索树中的众数

https://leetcode-cn.com/problems/find-mode-in-binary-search-tree/本来思路是挺简单的,就是把所有的值加入到哈希表里面,记数,选取最前面的众数,但是这样子做需要的空间比较大,答案偏偏选难的方法,我觉得这个方法和那种遍历数组时使用单指针保留最大值是一个道理。这里的众数,其实就是最大值的一个体现。所以,涉及到最大或者最小值那种问题的时候,一般都可以用一个数来代替一个数组,但是需要实时更新这个数。第一次的垃圾代码,if里面重复了。。。很无语,虽然不

2022-04-15 15:59:19 520

原创 leetcode-简单题-530. 二叉搜索树的最小绝对差(关于java的类内变量问题)

优化前代码:使用了数组class Solution { public int getMinimumDifference(TreeNode root) { List<TreeNode> arr = new LinkedList<TreeNode>(); traverse(root, arr); int res = arr.get(1).val - arr.get(0).val; for(int i = 1; i

2022-04-14 10:11:17 207

原创 leetcode-中等题-98. 验证二叉搜索树

https://leetcode-cn.com/problems/validate-binary-search-tree/// 同样地,利用BST的性质,将树转变为有序数组// 先遍历左子树,中,右子树// 依次入列// 若发现相邻树不是有序递增,就返回错误class Solution { public boolean isValidBST(TreeNode root) { List<TreeNode> arr = new LinkedList<Tree

2022-04-13 11:54:26 218

原创 leetcode-简单题-700. 二叉搜索树中的搜索

https://leetcode-cn.com/problems/search-in-a-binary-search-tree/就是一个简单的左中右遍历。// 二叉搜索树最大特点就是有序,左中右有序,即中序遍历是右序的,节点的数值从左到右有序// 此外,它还有性质:// 1. 左节点比根节点小// 2. 右节点比根节点大// 所以,利用这个性质,就在遍历的时候少走弯路,即(逻辑)// 1. root.val < val 时, 往右遍历// 2. root.val >

2022-04-13 11:24:41 75

原创 leetcode-简单题-617.合并二叉树

https://leetcode-cn.com/problems/merge-two-binary-trees/本质还是递归的题目,越做越熟了。// 中左右的方式遍历,即前序遍历// 传递值:两个根节点// 终止条件:// 两个为空,返回null// 内部逻辑:// 如果一个为空,另一个不是空,则返回不是空的值// 如果两个都有值,那就两个值相加// root.left = mergeTrees(root1.left, root2.left);//

2022-04-11 17:01:34 441

原创 leetcode-中等题-654. 最大二叉树

https://leetcode-cn.com/problems/maximum-binary-tree/这道题比构造二叉树简单了一半,因为只需要两个指针来指定新数组就行了。这次还优化了一下代码,把遍历变少了,具体看第二版。// 区间定义:左闭右开// 传入参数:(nums, 左指针, 右指针)// 返回 TreeNode// 终止条件:// 1. 左指针等于右指针,即没有数,返回null// 2. 右指针 - 左指针 == 1, 只有一个参数,返回叶子节点// 内部逻辑:

2022-04-11 16:29:34 531

原创 leetcode-中等题-106. 从中序与后序遍历序列构造二叉树,105. 从前序与中序遍历序列构造二叉树

https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/这个题目因为区间的问题把我给整麻了。根据解析,需要假定区间是左闭右开即[x, y)所以,对于右区间里面y这个值不好处理,需要考虑指针越界的问

2022-04-09 15:09:10 598

原创 leetcode-中等题-113. 路径总和 II

113. 路径总和 II/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNod

2022-04-06 17:00:34 198

空空如也

空空如也

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

TA关注的人

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