自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录-Day27

给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为 target 的不同组合数少于 150 个。示例 1:输入:candidates = [2,3,6,7], target = 7。

2024-06-03 22:15:46 185

原创 代码随想录-Day25

找出所有相加之和为 n 的 k 个数的组合,且满足下列条件:只使用数字1到9每个数字 最多使用一次返回 所有可能的有效组合的列表。该列表不能包含相同的组合两次,组合可以以任何顺序返回。示例 1:输入: k = 3, n = 7输出: [[1,2,4]]解释:没有其他符合的组合了。示例 2:输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4]]解释:没有其他符合的组合了。

2024-06-01 21:34:28 872

原创 代码随想录-Day24

给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。示例 1:输入:n = 4, k = 2输出:[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],示例 2:输入:n = 1, k = 1输出:[[1]]

2024-05-30 22:18:57 302

原创 代码随想录-Day23

这段代码定义了一个名为Solution的类,其中包含一个方法trimBST,用于修剪(裁剪)给定二叉搜索树(BST)中的节点,使得所有节点的值在指定的区间内。修剪操作应当保持二叉搜索树的性质。:首先检查根节点root是否为空。如果为空,直接返回null,因为没有节点需要修剪。rootroot.vallowroot.righttrimBSTrootroot.valhighroot.lefttrimBST:当当前节点值符合条件需要保留时,分别对左子树root.left和右子树root.right递归调用。

2024-05-29 22:24:09 1290

原创 代码随想录-Day22

这段代码定义了一个名为Solution的类,用于求解二叉搜索树(Binary Search Tree, BST)中两个指定节点的最近公共祖先(Lowest Common Ancestor, LCA)。rootpqgetPathpqpqnullancestornullroottargetpath注意,这段代码的高效运行依赖于输入是二叉搜索树的特性,即树中任意节点的左子树所有节点的值都小于该节点的值,右子树所有节点的值都大于该节点的值。

2024-05-29 21:46:51 1035

原创 死锁的四个必要条件

存在一种进程资源的循环等待链,链中的每一个进程已获得的资源同时被链中下一个进程所请求。, Pn}中,P0等待P1占有的资源,P1等待P2占有的资源,……:进程已经至少持有一个资源,但又提出了新的资源请求,而该请求因为资源正被其他进程使用着,所以当前进程被阻塞,同时它对自己已获得的资源保持不放。:资源是独占的,即在同一时间内一个资源只能被一个进程或线程所使用,其他进程或线程无法访问该资源。:进程已获得的资源在未使用完毕之前,不能被其他进程强行剥夺,只能在进程使用完这些资源后自行释放。

2024-05-28 22:27:22 552

原创 代码随想录-Day21

给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。这段代码定义了一个名为Solution的类,其中包含两个成员变量pre和ans和dfs。该类主要用于解决一个问题:在一棵给定的二叉搜索树(BST)中找到两个节点之间的最小差值(相邻节点间差值的最小值)。

2024-05-27 21:11:20 755

原创 ArrayList,Hashmap

在Java中,HashMap的put过程主要涉及以下几个步骤来存储键值对(Key-Value pair)。这个过程旨在高效地添加元素,同时尽量保持较好的访问性能。总结来说,HashMap的put方法通过计算哈希值快速定位,使用链表或红黑树解决冲突,并在必要时进行扩容,以高效地存储键值对并维持较好的查询性能。

2024-05-27 15:53:29 823

原创 代码随想录-Day20

给定一个不重复的整数数组 nums。最大二叉树 可以用下面的算法从 nums 递归地构建:创建一个根节点,其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组后缀上 构建右子树。返回 nums 构建的 最大二叉树。

2024-05-26 22:25:36 643

原创 黑马点评-短信登录

这段代码是一个Java方法,用于向指定的手机号发送验证码并处理相关逻辑。@Slf4jlog总结来说,这段代码实现了手机号格式校验、验证码生成、验证码存储至Redis以及日志记录的功能,同时展示了在遇到错误时使用异常与直接返回错误结果两种不同处理方式的区别。在代码片段中,使用的Redis数据类型是。这里,方法用于操作Redis中的字符串值。set方法则用于设置键值对,其中键是,值是生成的验证码code,并且设置了过期时间分钟。

2024-05-26 21:37:40 1000

原创 代码随想录-Day18

给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。假设二叉树中至少有一个节点。

2024-05-24 19:54:12 978

原创 代码随想录-Day17

这道题中的平衡二叉树的定义是:二叉树的每个节点的左右子树的高度差的绝对值不超过 111,则二叉树是平衡二叉树。根据定义,一棵二叉树是平衡二叉树,当且仅当其所有子树也都是平衡二叉树,因此可以使用递归的方式判断二叉树是不是平衡二叉树,递归的顺序可以是自顶向下或者自底向上。

2024-05-23 21:36:51 773

原创 代码随想录-Day16

这段代码定义了一个名为Solution的类,其中包含一个方法maxDepth用于计算二叉树的最大深度。最大深度是从根节点到最远叶子节点的最长路径上的边数。方法使用了递归的策略来实现这一计算。introot通过递归调用,该方法能够遍历到二叉树的每一个节点,并通过比较左右子树的深度来确定整棵树的最大深度,是一种分治策略的典型应用。

2024-05-23 21:25:14 835

原创 codeTop100

这段递归代码有效地遍历了二叉树,利用分治策略寻找两个节点的最近公共祖先。其核心思想在于,如果两个节点分别位于当前节点的左右两侧,则当前节点即为它们的最近公共祖先;如果它们都位于同一侧,则继续在那一侧的子树中寻找。这种方法的时间复杂度为O(N),其中N是树中的节点数,因为在最坏的情况下,每个节点都会被访问一次。为了将方法改成符合ACM竞赛模式,我们需要调整代码以使用标准输入和输出,并定义TreeNode类。int val;val = x;if(!

2024-05-23 20:12:30 872

原创 代码随想录-Day15

102. 二叉树的层序遍历方法:广度优先搜索class Solution { public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> ret = new ArrayList<List<Integer>>(); if (root == null) { return ret;

2024-05-23 12:00:11 678

原创 代码随想录-Day14

这段代码定义了一个名为Solution的类,该类实现了对一棵二叉树进行前序遍历的功能。前序遍历的顺序是访问根节点 -> 左子树 -> 右子树。ArrayList**辅助方法preorderroot.valresroot.leftroot.right综上所述,这段代码通过定义一个主方法提供给外部调用,并利用私有辅助方法preorder实现具体的递归逻辑,完成了对二叉树的前序遍历过程,将遍历结果保存在一个整数列表中返回。

2024-05-23 11:06:57 271

原创 代码随想录-Day13

给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回 滑动窗口中的最大值。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]intint这段代码定义了一个名为Solution的类,其中包含一个方法,用于求解数组中大小为k的滑动窗口里的最大值。该方法利用优先队列(具体实现为。

2024-05-23 10:55:41 735

原创 代码随想录-Day11

给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。示例 1:输入:s = “()”输出:true示例 2:输入:s = “()[]{}”输出:true示例 3:输入:s = “(]”输出:false这段代码是一个 Java 函数,属于一个名为Solution的类,该函数用于检查一个字符串s。

2024-05-22 15:48:13 633

原创 MySQL的SQL语句

题目:现在运营只需要查看前2个用户明细设备ID数据,请你从用户信息表 user_profile 中取出相应结果。题目:现在运营同学想要用户的设备id对应的年龄、性别和学校的数据,请你取出相应数据。题目:现在运营需要查看用户来自于哪些学校,请从用户信息表中取出学校的去重数据。第一种:使用distinct(关键词distinct用于返回唯一不同的值)第二种:使用group by按照university进行分组。

2024-05-22 14:26:38 395 1

原创 代码随想录-Day10

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true;

2024-05-22 13:15:06 772

原创 代码随想录-Day08

这段代码通过分段反转字符串中字符的方式来实现一个特定规则的字符串反转操作,利用了双指针技巧高效地反转字符数组中的子区间,并通过主方法的逻辑控制反转的范围和频率,实现题目要求的功能。遍历结束后,将最后一个构建好的单词加入队列。

2024-05-21 22:29:16 622

原创 代码随想录-Day07

给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:示例 1:输入:nums1 = [1,2], nums2 = [-2,-1], nums3 = [-1,2], nums4 = [0,2]输出:2解释:这段代码定义了一个名为Solution的类,其中包含一个方法。这个方法用于解决四数之和问题:给定四个整数数组ABC, 和D,计算有多少个由一个来自A和一个来自B的数以及一个来自C和一个来自D。

2024-05-20 22:28:09 451

原创 面试经历-凉经

代码的可维护性是怎么体现的怎么保证系统的稳定性输入网址找不到页面,要怎么排查问题(有状态码和无状态码)要在linux系统上杀死父进程,要怎么操作,具体用哪些命令怎么保证redis和数据库的双写一致性你设计的系统最大能承受多大的qps,运行时占多大内存讲一下MySQL的索引讲一下比赛HTTPS现在是用的哪个版本TLS协议是什么线程安全是什么Redis的数据类型以及使用场景。

2024-05-20 22:10:22 410

原创 电商项目-配置文件

这段配置信息是用于Spring Boot应用程序的,它配置了数据源、Redis、RabbitMQ、MyBatis以及日志和服务器会话的相关设置。下面是对这些配置项的简单解析:这些配置帮助Spring Boot应用连接到数据库、缓存、消息队列,并调整了ORM映射、日志记录和会话管理的行为。请确保根据你的实际部署环境调整相应的配置值,特别是数据库、Redis、RabbitMQ的地址和凭证。这是一个MyBatis Generator的配置文件,主要用于自动生成MyBatis的Java模型对象、SQL映射文件及M

2024-05-20 21:02:17 726 1

原创 代码随想录-Day-06

注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

2024-05-20 20:57:34 197 1

原创 无重复字符的最长子串

这段代码采用滑动窗口的思想,通过两个指针(左右指针)维护一个动态的、无重复字符的子串窗口。左指针负责缩小窗口,右指针负责扩大窗口,利用哈希集合快速判断字符是否重复,从而高效地找到最长无重复字符的子串。时间复杂度为O(n),空间复杂度也为O(n)(最坏情况下,如果字符串中没有重复字符,哈希集合需要存储所有字符)。给定一个字符串 s ,请你找出其中不含有重复字符的 最长。这段代码是Java实现的一个方法,用于求解字符串。中最长的无重复字符子串的长度。

2024-05-16 14:53:01 230

原创 代码随想录-Day04

这段代码通过引入哑节点简化了链表头节点处理的问题,使用循环和简单的指针操作实现了链表中相邻节点值的成对交换,其时间复杂度为O(n),空间复杂度为O(1),是一种高效且简洁的解决方案。

2024-05-15 22:17:50 338

原创 二叉树的公共祖先

这段递归代码有效地遍历了二叉树,利用分治策略寻找两个节点的最近公共祖先。其核心思想在于,如果两个节点分别位于当前节点的左右两侧,则当前节点即为它们的最近公共祖先;如果它们都位于同一侧,则继续在那一侧的子树中寻找。这种方法的时间复杂度为O(N),其中N是树中的节点数,因为在最坏的情况下,每个节点都会被访问一次。

2024-05-15 22:04:32 276

原创 代码随想录-Day03

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点。这段代码是用Java编写的,它定义了一个名为Solution的类,其中包含一个方法。这个方法用于从一个链表中移除所有值为val的节点。现在让我们详细解析。

2024-05-14 22:17:10 304 3

原创 快速排序解法

定义了一个名为Solution的类,其中包含了排序方法的实现。

2024-05-14 21:31:55 201 2

原创 代码随想录-Day02

中的每个元素平方后进行排序,然后返回这个排序后的新数组。具体实现采用了双指针技巧,从数组两端向中间遍历,比较两个端点元素的平方值大小,将较大的平方值放于结果数组的末尾,逐步填充结果数组。这种方法的优势在于,它只需要遍历原数组一次,并且不需要额外的排序步骤,因为边计算平方边根据值的大小决定存放位置,自然完成了排序,时间复杂度为O(n),空间复杂度也为O(n)。给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。它的功能是将一个整数数组。

2024-05-10 21:38:52 207 1

原创 论坛项目-用户

这段代码是一个实现了UserService接口的类,主要用于处理与用户相关的业务逻辑,如用户信息查询、保存、统计以及与第三方账号绑定等。

2024-05-10 13:13:36 656 1

原创 代码随想录-Day01

这段代码实现了在有序数组中进行二分查找的功能。主要步骤如下:定义两个指针 left 和 right,分别指向数组的起始和末尾位置。在循环中,计算中间位置 mid,并获取该位置的元素值 num。如果 num 等于目标值 target,则返回 mid,表示找到了目标值所在的位置。如果 num 大于目标值 target,则将 right 指针向左移动到 mid - 1,缩小搜索范围。如果 num 小于目标值 target,则将 left 指针向右移动到 mid + 1,缩小搜索范围。

2024-05-09 21:15:04 244 1

原创 电商项目-收货

***/@Service代码解释:这段代码是一个实现了接口的Java服务层实现类,主要用于处理与用户收货地址相关的业务逻辑。它使用了Spring框架进行依赖注入,并结合了MyBatis作为数据持久层,通过来操作数据库。同时,该服务类还利用了PageHelper分页插件来处理分页查询。

2024-05-05 21:32:07 540

原创 电商项目-分类

***/@Service// }// }代码解释:这段代码是一个实现了接口的类,主要用于处理商品分类的服务逻辑。该服务主要包含两个功能:获取所有商品分类(包括子分类)和查找指定分类ID的所有子分类ID集合。:通过@Autowired注解自动装配了,用于执行数据库操作。

2024-05-05 21:27:51 440

原创 电商项目-商品

***/@Service@Slf4j代码解释:这段代码是一个实现商品服务 () 的类,主要用于处理与商品相关的业务逻辑,如商品列表的分页查询和商品详情查询。

2024-05-05 21:23:11 541

原创 电商项目-用户

***/@Service代码解释:该代码段是一个实现了接口的类,主要负责用户注册和登录逻辑的业务实现。使用了Spring框架的注解@Service进行标注,表明它是一个业务服务层的组件。

2024-05-05 21:14:14 556 1

原创 电商项目-购物车

***/@Service代码解释:这段代码是一个实现了购物车服务()接口的类,主要用于处理与购物车相关的业务逻辑,如添加商品、查询购物车列表、更新购物车商品信息、删除购物车商品以及全选/全不选购物车商品等功能。代码使用了Spring框架进行服务层的开发,并且利用了Redis作为数据存储来提高读写性能。

2024-05-05 21:06:45 595

原创 电商项目-订单

Service代码解释:这段代码是一个典型的Java实现,属于一个在线商城系统中处理订单服务()的实现类 (它包含了创建订单、查询订单列表、查询订单详情、取消订单以及标记订单为已支付等核心功能。

2024-05-05 21:00:55 590

原创 电商项目-支付

service层://import导入包这些就省掉了,太长不写进来@Slf4j@Service // @Service 注解表示该类是一个服务类代码解释:这段代码展示了一个支付服务的实现类,它实现了接口,主要用于处理创建支付请求、处理支付异步通知以及查询订单支付信息等操作。

2024-05-05 20:38:14 955

空空如也

空空如也

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

TA关注的人

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