自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Neo4j 小白入门

Neo4j 小白入门使用在使用neo4j的第一步即是导入节点和关系,这里有导入形式的对比

2020-10-31 14:04:00 173

转载 torch.gather

https://blog.csdn.net/weixin_43559819/article/details/106028768

2020-10-27 16:09:05 163

转载 pytorch detach(), data() 区别

https://blog.csdn.net/qq_27825451/article/details/96837905?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

2020-10-27 11:56:41 151

原创 leetcode 1043 Partition Array for Maximum Sum 详解

leetcode 1043 Partition Array for Maximum Sum 详解这是个典型的DP问题,所以先分拆成小的子问题。如:arr = [1,15, 7, 9, 2, 5, 10],  k = 3设f(i)f(i)f(i)存储的是当前数组arr[0,..,i−1]arr[0,..,i-1]arr[0,..,i−1]的解f(0)=0f(0)=0f(0)=0                                (1)

2020-10-07 14:57:48 186

原创 leetcode 338 Counting Bits 详细解答

leetcode 338 Counting Bits 详细解答以例子说明:Index :      0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17bin nums : 0 1 1 2 1 2 2 3 1 2 2  3    2   3   3   4   1

2020-10-07 11:59:39 136

原创 leetcode 59 Spiral Matrix II 详细解释

leetcode 59 Spiral Matrix II 详细解释题目理解: 给出一个正整数n, 以螺旋式的顺序将1 ~ n2填充到方阵中。题目比较好理解,比较容易想到的方式就是直接根据坐标填充。解法1如果 n = 3, 则坐标的填充顺序就应该是(0, 0),(0, 1),(0, 2),(1, 2),(2, 2),(2, 1),(2, 0),(1, 0),(1, 1)所以现在难点就变成了怎么将下标按照上述方式进行移动。在这儿,通过观察,可以设定移动方向(0,1)表示向右移动 &nbs

2020-10-06 23:14:36 123

原创 leetcode 1550 Three Consecutive Odds 详细解答

leetcode 1550 Three Consecutive Odds 详细解答题目理解:找出数组 arr 中是否存在三个连续的奇数题目比较简单,循环遍历一边,判断是否有3个连续的数字是奇数即可:

2020-10-06 21:21:16 137

原创 详解 leetcode 1277

详解 leetcode 1277题目如下:题目解释:给出一个只包含0,1的矩阵,计算出其中只包含1的子方阵有多少个?在给出的例子中:   边长为1的子方阵有10个;   边长为2的子方阵有4个;   边长为3的子方阵有1个;所以最后的答案时10 + 4 + 1 = 15个解题思路:这里可以自底向上思考:如果只有一个元素的方阵,即 [1],可以直接计算出答案为1如果有4个元素的方阵,比如:

2020-10-06 18:29:15 338 1

原创 1314. Matrix Block Sum 详细解答

1314. Matrix Block Sum 详细解答解法1: Brute Force题目理解:求出距离某个元素为K的所有元素的累加和。比如:[[1, 2, 3],    [4, 5, 6],    [7, 8, 9]]元素4,若 k=1。距离元素4为1的元素包括1, 2, 5, 7, 8, 最后得到的累加和为 1+2+4+5+7+8 = 27.所以答案中在元素4的位置变为了27暴力求解的方式很简单,在遍历到每一个元素时,直接求出距离为k的所有元素累加和即可。代码如下:问题:复

2020-10-01 16:20:34 310

原创 Anaconda创建虚拟环境

Anaconda创建虚拟环境conda create -n test python=3.6

2020-08-10 13:12:48 93

原创 leetcode 1534 Count Good Triplets 详细解答

leetcode 1534 Count Good Triplets 详细解答题目理解起来比较简单,就是如果遵循题目中的规则,则加1,然后输出结果即可。代码如下:

2020-08-08 16:16:08 161

原创 leetcode 1389. Create Target Array in the Given Order 详细解答

leetcode 1389. Create Target Array in the Given Order 详细解答代码如下:因为是python, 可以直接用insert函数,也可以用切片

2020-06-24 10:09:28 154

原创 leetcode 697. Degree of an Array 详细解答

leetcode 697. Degree of an Array 详细解答比较简单,有很多不同的思路,我这里的思路是将数值和下标存成一个字典(hashmap),key是值,val是含有对应下标的列表。在存储的为字典的同时,将数字出现的频数的最大值也可以取出来。具体代码如下:...

2020-06-22 10:38:22 112

原创 leetcode 53 Maximum Subarray 详细解答

leetcode 53 Maximum Subarray 详细解答解法1动态规划:举例说明:[−2,2,−1,4,−1,2,1,−5,4][-2, 2, -1, 4, -1, 2, 1, -5, 4][−2,2,−1,4,−1,2,1,−5,4](1):第一个组合[−2]到以第一个数字结尾的最大连续子数组,则最大值−2(2):第二个组合[−2,2]到以第二个数字结尾的最大连续子数组,当前最大值2(3):第三个组合[−2,2,−1]到以第三个数字结尾的最大连续子数组,当前最大值为2+(−1)=1(

2020-06-22 10:11:56 179

原创 leetcode 22 Generate Parentheses 详细解答

leetcode 22 Generate Parentheses 详细解答回溯法,代码如下:在这里,拿 n = 2来举例f(2,2,"")f(2,2,"")f(2,2,"")   |—f(1,2,"(")f(1, 2,"(")f(1,2,"(")        |—f(0,2,"((")f(0, 2,"((")f(0,2,"((")            |——f(0,1,"(()")f(0, 1,"(()")f(0,1,"(()")                 |——f(0,0,"

2020-06-20 11:24:58 108

原创 leetcode 20 Valid Parentheses 详细解答

leetcode 20 Valid Parentheses 详细解答在这里借助栈来实现括号的匹配,如果遇到了栈顶元素和要进入栈的元素是匹配的,则弹出栈。本来想做一个gif演示整个过程的,但不知道怎么做,有知道的大佬可以告知一下,谢谢了具体代码如下:...

2020-06-19 10:57:27 181

原创 leetcode 377 Combination Sum IV 详细解答

leetcode 377 Combination Sum IV 详细解答上来无脑用回溯,像 leetcode 77 。代码如下:结果超时。所以只能换个思路。举例说明:nums=[1,2,3]target=4nums = [1, 2, 3] \\target = 4nums=[1,2,3]target=41→[1]1 → [1]1→[1]2→[1,1],[2]2 → [1, 1], [2]2→[1,1],[2]3→[1,1,1],[1,2],[2,1],[3]3 → [1, 1, 1]

2020-06-18 14:29:43 182

原创 leetcode 216 Combination Sum III 详细解答

leetcode 216 Combination Sum III 详细解答在做这个题之前,务必先做一下 leetcode 77,主要的思想都是回溯。当然一定要找好出口。具体代码如下:

2020-06-18 11:02:30 148

原创 leetcode 40 Combination Sum II 详细解答

leetcode 40 Combination Sum II 详细解答建议在做这个题之前看一下 leetcode 39 。方法基本一模一样。具体代码如下

2020-06-17 17:11:44 152

原创 leetcode 39 Combination Sum 详细解答

leetcode 39 Combination Sum 详细解答在做这个题之前,建议先做一下 leetcode 77解法1回溯法代码如下:这段代码里,执行非常慢,最后发现是因为会出现很多重复的 path。在这里可以跟踪下标,是的不会出现重复的。代码如下:...

2020-06-17 15:52:02 128

原创 leetcode 77 Combinations 详细解答

leetcode 77 Combinations 详细解答解法1参考 leetcode 491 ,代码如下占用空间过大,执行很慢,不推荐解法2递归。过程如下:代码如下。解法3因为是python,可以调包。

2020-06-17 13:19:51 266

原创 leetcode 1014 Best Sightseeing Pair 详细解答

leetcode 1014 Best Sightseeing Pair 详细解答在这里我们可以将问题转化为 (A[i]+i)+(A[j]−j)(A[i] + i) + (A[j]-j) (A[i]+i)+(A[j]−j)那么理所当然,我们想要 A[i] + i 越大越好,所以用一个index来保存当前A[i]+i 的下标。具体代码如下:...

2020-06-17 11:03:51 119

原创 leetcode 940 Distinct Subsequences II 详细解答

leetcode 940 Distinct Subsequences II 详细解答这个题一看到的时候,想到了 leetcode 491。思路完全没问题,但是要将所有的元组放入到集合,会出现空间不足的问题。下面是样例代码。所以换个思路动态规划:举例: “abc”F(0) = ( " " )F(1) = ( " ", “a” )F(2) = ( " ", “a”, “b”,“ab” )F(3) = ( " ", “a”, “b”,“ab”, “c”, “ac”,“bc”,“abc” )

2020-06-17 00:15:10 96

原创 leetcode 646 Maximum Length of Pair Chain 详细解答

leetcode 646 Maximum Length of Pair Chain 详细解答解法1通过观察,我们想找到一个最长的序列,满足题目的条件,由此容易想到用动态规划(最长子序列问题一般都可以用动态规划)。状态转移方程:F(i)={max(F(j)+1)j∈(0,i)andpairs(j,1)<pairs(i,0)1others F(i)=\begin{cases}max(F(j)+1) & j ∈ (0, i) &and& pairs(j, 1) &lt

2020-06-16 23:04:52 168

原创 leetcode 491 Increasing Subsequences 详细解答

leetcode 491 Increasing Subsequences 详细解答这个题很巧妙。来看一下这个构建的过程:整个过程,每一个进入集合的数字,都要基于之前的元组中的最后一个元素。所以在这个时候就要保存之前所有递增的元组和单元素元组(可以用list,但是集合中不支持list)。根据题目要求,选出长度大于等于2的元组。代码如下:...

2020-06-16 18:29:18 169

原创 leetcode 993 Cousins in Binary Tree 详细解答

leetcode 993 Cousins in Binary Tree 详细解答解法1根据题意,互为cousin节点,必须是深度一样,父节点不一样,所以我们可以新定义一个函数,用于找出x, y的深度和父节点即可。具体代码如下:解法2BFS方法来解答,就是将节点,父节点,和节点深度都存储到队列中。代码如下:...

2020-06-16 17:15:08 194

原创 leetcode 429 N-ary Tree Level Order Traversal 详细解答

leetcode 429 N-ary Tree Level Order Traversal 详细解答解法1层序遍历二叉树一样解答

2020-06-16 16:44:49 85

原创 leetcode 102 Binary Tree Level Order Traversal 详细解答

leetcode 102 Binary Tree Level Order Traversal 详细解答以层序遍历为基础:代码如下:

2020-06-16 16:29:07 113

原创 leetcode 111 Minimum Depth of Binary Tree 详细解答

leetcode 111 Minimum Depth of Binary Tree 详细解答解法1在这里用BFS,类似层序遍历。队列存储的是节点和层数。出口就是当一个节点既没有左子树也没有右子树。代码如下:

2020-06-16 11:51:08 99

原创 leetcode 107 Binary Tree Level Order Traversal II 详细解答

leetcode 107 Binary Tree Level Order Traversal II 详细解答这个题就是层序遍历然后倒序输出,参考 leetcode 102代码如下:

2020-06-16 11:42:00 101

原创 leetcode 103 Binary Tree Zigzag Level Order Traversal 详细解答

leetcode 103 Binary Tree Zigzag Level Order Traversal 详细解答此处也是求层序遍历,参考 leetcode 102,只是需要将层数给记录下来。也比较简单。代码如下:flag 记录的则是层数

2020-06-16 11:39:34 111

原创 leetcode 102 Binary Tree Level Order Traversal 详细解答

leetcode 102 Binary Tree Level Order Traversal 详细解答此处求层序遍历,比较简单。代码如下:

2020-06-16 11:36:13 95

原创 leetcode 1162 As Far from Land as Possible 详细解答

leetcode 1162 As Far from Land as Possible 详细解答在这里用BFS:代码如下:

2020-06-16 11:03:37 159

原创 leetcode 994 Rotting Oranges 详细解答

leetcode 994 Rotting Oranges 详细解答解法1这个题很明显可以用BFS来做,比较简单,我就不细讲了。代码如下:

2020-06-16 10:59:47 90

原创 leetcode 542 01 Matrix 详细解答

leetcode 542 01 Matrix 详细解答解答1这个题是找出1到最近的 0 的距离。所以应该是从某一个单元格的上下左右来分析。看1的上下左右离 0 最近的距离是多少?所以很快就能想到BFS。这里就是先将matrix中数值为0的下标存储在队列和一个集合中。每一次取出队列头的下标(i, j),将(i,j)四个方向的下标对应的matrix加1这里说的可能不太详细,下面是我的插图加以解释:代码如下:解答2这里可以用动态规划想到一个比较巧妙的办法,因为要找出单元格的上下左右来比较最小

2020-06-16 10:24:07 352

原创 leetcode 406 Queue Reconstruction by Height 详细解答

leetcode 406 Queue Reconstruction by Height 详细解答解答1这个题其实就是找规律的题,首先要找到 h大于等于自身的数,在这里就可以想到对身高进行逆序排序。而 k相当于所在数组的下标。代码如下:...

2020-06-15 18:23:18 142

原创 leetcode 33 Search in Rotated Sorted Array 详细解答

leetcode 33 Search in Rotated Sorted Array 详细解答因为题目要求时间复杂度要是O(log n),所以这里很明显要用二分法。但应该怎么构造二分?流程如下:具体代码如下:

2020-06-13 12:20:36 119

原创 leetcode 454 4Sum II 详细解答

leetcode 454 4Sum II 详细解答这个题比较简单,先将两个数组所有元素相加的结果存入到字典,比如:A = [1, 2],B = [-2, -1]存入到字典的键为两数相加的结果的相反数,值为两数相加结果的相反数的个数。则 dict = {1: 1, 0: 2, -1: 1}。再看另外两个数组的元素相加结果是否存在字典中,因为 c+d = - (a+b)。如果存在,则加上对应数的个数。详细请看代码时间复杂度:O(N2),空间复杂度:O(N)在优化一下,代码如下:...

2020-06-13 10:52:23 160

原创 leetcode 18 4Sum 详细解答

leetcode 18 4Sum 详细解答代码如下:

2020-06-13 10:17:53 120

原创 leetcode 16 3Sum Closest 详细解答

leetcode 16 3Sum Closest 详细解答解法1Brute Force时间复杂度:O(N3), 空间复杂度:O(1)测试了一下,可以过解法2用3指针法, 参考 leetcode 15具体代码如下:时间复杂度:O(N2),空间复杂度:O(1)

2020-06-12 21:31:14 125

空空如也

空空如也

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

TA关注的人

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