自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Transformer具体计算过程

(1)word embedding:将输入的单词进行编码(2)positionalembeddig:将输入单词的位置进行编码(3)self-attention:将输入信息的互相关系进行编码(4)残差连接:保持相对容易而且快速的并行训练举措。

2024-05-06 22:52:10 710 2

原创 【并发编程】概念入门

1:继承Thread类 重写run方法利用此方式去创建线程的话,启动线程是调用start方法,这样会创建一个新的线程,并执行线程的任务。如果直接调用run方法,这样会让当前线程执行run方法中的业务逻辑。

2023-11-21 00:17:07 96

转载 java中sort方法的自定义比较器写法(转载)

在做一些算法题时常常会需要对数组、自定义对象、集合进行排序. 在java中对数组排序提供了Arrays.sort()方法,对集合排序提供Collections.sort()方法。对自定义对象排序时要自己重写比较器,对象数组则调用Arrays.sort(),对象集合则调用Collections.sort()。两个方法默认都是升序,也可以重写比较器,实现降序。

2023-02-19 11:22:53 733

原创 leetcode 221 java 解题自用

【代码】leetcode 221 java 解题自用。

2023-01-25 18:26:09 123

原创 leetcode 215 java解题自用

【代码】leetcode 215 java解题自用。

2023-01-25 18:16:35 117

原创 leetcode 208 java解题自用

【代码】leetcode 208 java解题自用。

2023-01-25 17:34:42 117

原创 leetcode 207 java解题自用

贪心算法:每一步最优,则全局最优。

2023-01-25 17:21:12 61

原创 leetcode 206 java解题自用

【代码】leetcode 206 java解题自用。

2023-01-25 17:08:22 78

原创 leetcode 200java 解题自用

这道题深度广度优先搜索可以用,但是会修改原数组,下面的这个并查集方法不会修改原数组。

2023-01-25 17:03:33 196

原创 leetcode 198 java解题自用

【代码】leetcode 198 java解题自用。

2023-01-25 16:55:08 158 1

原创 leetcode 169 java解题自用

【代码】leetcode 169 java解题自用。

2023-01-25 15:05:17 115 1

原创 leetcode 160 java解题自用

【代码】leetcode 160 java解题自用。

2023-01-25 15:00:43 129

原创 LeetCode 155 java解题自用

这道题的思想很简单:“以空间换时间”,使用。

2023-01-25 14:19:47 136

原创 LeetCode 148 java 解题自用

【代码】LeetCode 148 java 解题自用。

2023-01-24 22:14:00 71

原创 快慢指针的应用场景(随自己的学习逐步更新)

(1)力扣的 141 142题用来判断链表中是否有环。(2)148题 寻找链表中点。

2023-01-24 22:09:01 60 1

原创 LeetCode 146 java 解题自用

【代码】LeetCode 146 java 解题自用。

2023-01-24 20:45:39 76

原创 LeetCode 142 java解题自用

依旧是快慢指针,推导出数学等式,可以很清楚的得到结论思路,可以去看官方题解的推导图。

2023-01-24 19:56:22 54

原创 LeetCode 141 java解题自用

官方题解:这个题用快慢指针,学到了。

2023-01-24 19:47:11 77

原创 LeetCode 139 java 解题自用

【代码】LeetCode 139 java 解题自用。

2023-01-24 19:34:57 91

原创 LeetCode 136 java 解题自用

真的是不看答案根本不知道要用异或。

2023-01-24 19:09:48 53

原创 LeetCode 128 解题 java自用

【代码】LeetCode 128 解题 java自用。

2023-01-24 18:59:57 72

原创 leetcode 72 java解题自用

【代码】leetcode 72 java解题自用。

2023-01-22 18:26:58 82

原创 leetcode 70 java 解题自用

这道题用动态规划有点复杂了。

2023-01-22 17:57:27 50

原创 leetcode 第64 java 解题自用

【代码】leetcode 第64 java 解题自用。

2023-01-22 17:38:50 81 1

原创 leetcode 62题 java 解题自用

【代码】leetcode 62题 java 解题自用。

2023-01-22 17:33:34 49

原创 LeetCode 力扣 第56 Java解题自用

【代码】LeetCode 力扣 第56 Java解题自用。

2023-01-22 17:22:38 85

原创 LeetCode 力扣 第55题 java解题思路自用

【代码】LeetCode 力扣 第55题 java解题思路自用。

2023-01-22 17:00:45 139 1

原创 LeetCode 力扣53题 java解题思路自用

重点在于理解“无后效性”

2023-01-22 15:22:30 109

原创 LeetCode 力扣 第48题 java 解题思路

(2)原地旋转(有点复杂,没怎么看)(3) 翻转代替旋转。

2023-01-20 17:33:19 127 1

原创 LeetCode 力扣 46题 java解题思路

输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列。你可以 按任意顺序 返回答案。核心内容为要理解其思路,以及在深度遍历的过程中,需要状态重置的意义。了解其中错误的发生原因,java参数传递的特点。输入:nums = [1,2,3](1)全排列问题可以使用回溯法解决。输出:[[0,1],[1,0]]输入:nums = [0,1]输入:nums = [1]这个评论大神说的很详细。

2023-01-20 15:35:50 134

原创 LeetCode 力扣 39题 java解题笔记

给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。2 和 3 可以形成一组候选,2 + 2 + 3 = 7。输入:candidates = [2,3,6,7], target = 7。输入: candidates = [2,3,5], target = 8。输出: [[2,2,2,2],[2,3,3],[3,5]]输出:[[2,2,3],[7]]

2023-01-19 18:19:24 86

转载 二分查找代码模版

【代码】二分查找代码模版。

2023-01-19 13:57:13 98

原创 LeetCode 34题 java解题笔记

给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。输入:nums = [5,7,7,8,8,10], target = 8。输入:nums = [5,7,7,8,8,10], target = 6。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。如果数组中不存在目标值 target,返回 [-1, -1]。输入:nums = [], target = 0。输出:[-1,-1]输出:[-1,-1]

2023-01-19 13:52:57 242

原创 LeetCode 力扣 33题 java 解题思路

比如说要找5,从7分开后,两边总有一边是完全排序的,有一边没有,那么问题在于如何找到那个完全排序的一边,可以从两个段的首尾元素来判断,如果左端点比右端点小,那么可以得出其是完全排序的,而且其端点是最大最小值,所以可以百分百的确定目标数值在不在这个段里。论区两拨人理解的都是对的,但是说的不是一个问题:一些人说的“只在有序的半边二分”指的是以mid为分界的;该题的思路起始挺简单:始终去有序的那个范围内去找target,不在就去另一半无序的找,但是要将无序再次划分成有序然后再找...

2023-01-18 12:55:46 196

原创 力扣LeetCode 22题 java解题思路

这个人写的这个代码比官方给出的要好很多(个人观点)这个代码来自于力扣评论区。手动模拟出来类似于二叉树。

2023-01-17 20:50:33 81

原创 LeetCode 力扣 第21题解题笔记

本题可以提炼出一个字问题,假设原问题是L1和L2,并且假设L1的值更小,那么合并L1,L2,就可以做如下考虑:取出头结点L1,解决子问题:合并L1next和L2,L1的next指向子问题的结果就可以了。模式识别:子问题和原问题具有相同结构,意思就是说,返回值和要解决的问题都一致,考虑自上而下的递归。新链表是通过拼接给定的两个链表的所有节点组成的。递归这个东西真的蛮好玩的,自己理解了后画了个图一下子就清晰了。因为递归要叠加栈,最坏情况下栈有O(M+N)的深度。L1.val 意思是取链表L1的头结点。

2023-01-17 19:14:40 91

原创 LeetCode 力扣 第17题 思路笔记

所谓的子问题可以看做是输入简化后的情况,比如对于树问题,子问题就是当前节点的子树问题,对于字符串而言,子去除了当前字符,剩余字符串的问题。凡是出现“找到符合条件所有组合的解”的时候,都要使用搜索算法,从所有空间解里,找到符合要求的答案,常见的搜索算法无外乎深度和广度优先搜索两种。一般而言, 利用自顶向下的递归实现深度搜索,是最自然的想法,在这个过程中需要找到子问题,在当前递归层结合子问题的结果来解决原问题。输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]

2023-01-16 22:52:44 244

原创 Leetcode 力扣 第15题解题笔记

当确定了第一个数字的时候,其他两个数字便成了力扣的第一题 ,不同的是第一题只需要找到一个解,但是这里可能有若干个解,现在问题变成了在一个有序数组中,找到所有的两数之和,使其等于一个特殊值,可以通过双指针法在On的时间内解决这个问题。给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!不同的三元组是 [-1,0,1] 和 [-1,-1,2]。输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]

2023-01-16 19:05:53 135

原创 力扣第11题解题笔记

如果我们移动数字较大的那个指针,那么前者「两个指针指向的数字中较小值」不会增加,后者「指针之间的距离」会减小,那么这个乘积会减小。因此,我们移动数字较大的那个指针是不合理的。(1)第一种方式为暴力解法,遍历两个边,找到所有的容纳水的可能,但是因为有两个for循环,所以时间复杂度为O(n^2),空间复杂度为O(1)直觉告诉我们,应该移动对应数字较小的那个指针(即此时的左指针)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。两个指针指向的数字中较小值∗指针之间的距离。

2023-01-16 14:47:04 51

原创 力扣LeetCode Hot100 第三题 自用

这个是力扣官方的答案,自己根据自己的理解写一点自己的想法题目:给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度此方法为滑动窗口及其优化的方法

2023-01-13 18:56:56 50

空空如也

空空如也

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

TA关注的人

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