- 博客(20)
- 收藏
- 关注
原创 Spring项目中 注解@Aspect无法被引入的原因
Spring项目中 注解@Aspect无法被引入的原因解决方式解决方式 在maven 中引入最新版本的Aspectj依赖,官网显示为<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver --><dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</ar
2021-08-09 16:04:52 1623 4
原创 leetcode 学习之路
leetcode 073 矩阵置0题目描述一、算法描述二、JAVA实现1.深度遍历2.双数组题目描述给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]输出:[[0,0,0,0],[0,4,5,0],[0,3,
2021-07-06 20:53:56 212
原创 Leetcode学习之路
Leetcode 学习之路 213 打家劫舍ii题目描述一、算法描述二、JAVA实现题目描述 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。 给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报
2021-05-22 16:45:45 176
原创 无向图判断环
无向图判断环一、算法描述二、JAVA 实现一、算法描述 对于无向图的判断环的问题,可以使用并查集来解决。并查集通常是一维数组,数组下标表示图中节点的序号,数组中的元素代表其下标对应节点的前置节点在数组中下标。如图所示: 并查集有两个基本操作1.找到指定节点的根节点。2.对两个不同根的节点进行合并。而判断环的操作就是检查新加入的边的两个节点的根节点是否相同。二、JAVA 实现public b
2021-05-06 21:08:03 749
原创 图的遍历
图的深度优先遍历和广度优先遍历一、算法思想二、JAVA实现一、算法思想 对于图的深度优先遍历和树的深度优先遍历相似。不同之处在于,在图中可能出现环。所以,如果将树的深度优先遍历算法放到包含环的图中就会造成死循环。因此,需要引入标志位数组用来记录已经遍历过的节点,当已访问过的节点再次出现的时候就跳过。深度优先遍历的主要思想是递归,不断递归当前节点的邻居节点。 对于图的广度优先遍历,同样需要使用标志位数
2021-04-24 16:41:05 85
原创 Leetcode学习之路
Leetcode 学习之路 061 旋转链表题目描述一、算法描述二、JAVA实现题目描述 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。输入:head = [1,2,3,4,5], k = 2输出:[4,5,1,2,3]一、算法描述 对于旋转链表直接使用暴力解法,使时间复杂度为O(N2)O(N^2)O(N2),并且在Leetcode提交时会显示超时。所以
2021-04-24 16:22:41 58
原创 生成高度平衡的二叉搜索树
生成高度平衡二叉搜索树一、算法描述二、JAVA 实现总结一、算法描述 给定一个数组,如何以数组中的元素生成二叉搜索树?要解决这个问题首先我们需要理解二叉搜索树的定义:1.节点的左子树只包含小于当前节点的数。2.节点的右子树只包含大于当前节点的数3.所有左子树和右子树自身必须也是二叉搜索树。 从二叉搜索树的定义可以看出,其构成是含有递归的思想,所以从代码的实现上可以通过递归左右子树来实现。平衡搜
2021-04-15 15:27:31 225
原创 树的广度优先遍历
树的广度优先遍历一、算法描述二、JAVA 实现一、算法描述 本文中遍历的树为二叉树,二叉树的一个根节点带有左子树和右子树。左右子树可以为空。如图所示: 针对于广度优先遍历就是对给定的树逐层遍历,对于上面这棵树,遍历结果为[1,2,2,3,4,4,3]。因为先到达的数据先输出,所以就可以利用队列。对树的每一层的节点,先将其从队列中取出进行遍历(判断队列是否为空),然后将该节点的左右子节点加入到队列中
2021-04-14 19:56:19 442
原创 Leetcode学习之路
Leetcode 学习之路 039 组合总和题目描述一、解题思路二、JAVA实现题目描述 给定一个三角形 triangle ,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。一、解题思路 &nbs
2021-04-08 19:33:00 55
原创 Leetcode学习之路
Leetcode 学习之路 039 组合总和题目描述一、解题思路二、JAVA实现总结题目描述 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。输入:candidates = [2,3,6,7], target = 7
2021-03-28 10:52:12 58
原创 Leetcode学习之路
Leetcode 学习之路 019 删除链表的倒数第 N 个结点题目描述一、解题思路二、Java 实现题目描述给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。尝试使用一次扫描实现输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]输入:head = [1], n = 1输出:[]输入:head = [1,2], n = 1输出:[1]一、解题思路 针对这道题目,比较容易想到
2021-03-27 16:46:59 47
原创 Leetcode 学习之路
Leetcode 学习之路 015 三数之和前言一、解题思路二、JAVA 代码总结前言 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]输入:nums = []输出:[]输入:nu
2021-03-21 17:07:36 57
原创 图的存储与稀疏邻接矩阵
图的存储与稀疏邻接矩阵scipy_sparse_matrix前言一、方法前言 今天在做一个表征学习的模型,模型的输入数据是图,包括节点、边和边的权重。因为图中包含的节点很多,直接使用邻接矩阵存储会消耗大量的内存,所以我基于python使用稀疏矩阵的方式存储图。一、方法 首先通过一个简单的示例来构建图G = nx.Graph()G.add_edge(0,1,weight=2)G.add_edg
2021-03-18 21:16:56 2056
原创 Leetcode学习之路
Leetcode 学习之路 012 整数转罗马数字题目描述一、解题思路二、JAVA实现题目描述示例1:输入: 3输出: “III”示例2:输入: 4输出: “IV”示例3:输入: 9输出: “IX”示例4:输入: 58输出: “LVIII”解释: L = 50, V = 5, III = 3.示例5:输入: 1994输出: “MCMXCIV”解释: M = 1000, CM = 900, XC = 90, IV = 4.一、解题思路
2021-03-14 16:22:44 83
原创 Leetcode学习之路
Leetcode 学习之路 011 盛水最多的容器题目描述一、算法描述二、JAVA 实现总结题目描述 给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器一、算法描述 这个题首先想
2021-03-11 20:13:08 54
原创 Leetcode 学习之路
Leetcode 学习之路 006 Z字型变换题目描述一、算法思想二、JAVA实现题目描述将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下P A H NA P L S I &
2021-03-08 20:13:33 68
原创 Leetcode 学习之路
Leetcode 学习之路 005 最长回文字串问题描述一、解题思路二、JAVA 代码总结问题描述 给你一个字符串 s,找到 s 中最长的回文子串。输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。输入:s = “cbbd”输出:“bb”输入:s = “a”输出:“a”输入:s = “ac”输出:“a”一、解题思路 回文字符串的
2021-02-25 10:25:42 94
原创 Leetcode学习之路
Leetcode 学习之路 003 无重复字符的最长子串题目描述一、解题思路二、JAVA代码题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。输入: s = “pwwkew”输出: 3解释:
2021-02-24 11:05:51 75
原创 leetcode 学习之路
leetcode 学习之路 --002 两数之和题目描述一、解题思路二、JAVA实现总结题目描述 给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807输
2021-02-22 17:01:58 78
原创 Leetcode 学习之路
Leetcode 学习之路--001 两数之和题目描述一、解题思路二、JAVA代码总结题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nu
2021-02-22 10:16:34 87
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人