- 博客(95)
- 收藏
- 关注
原创 Java刷题API
/第一种//第二种//eg//二维数组type 为Java中的任意数据类型,包括基本类型和引用类型,arrayName为数组名,必须是一个合法的标识符,[ ] 指明该变量是一个数组类型变量,[ ]的数量表示数组的维度,可以有多个,表示多维度数组。Java实际上没有多维数组,只有一维数组。多维数组可以理解为“数组的数组” ,比如二维数组其实是一个一维数组,数组中每个元素是一个一维数组。
2024-04-18 15:57:37
493
原创 0-1背包和完全背包的一点思考
dp[i][j] = dp[i - 1][j]和dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - weight[i]] + value[i])这两种情况,不论哪种,dp[i - 1][j]和dp[i][j - weight[i]]都在dp[i][j]的左上角方向,而两种遍历顺序都能够获取到dp[i][j]左上角方向的值,先遍历物品会更好理解。如果物品i的重量大于背包容量j时,背包放不下,就不能选择物品i,dp[i][j] = dp[i - 1][j];
2024-04-18 15:24:47
481
原创 贪心问题:134. 加油站
假设totalsum=0,那么走一圈油量和消耗抵消下来就为0(先不管油够不够走到每一站),假设从起点到第i点油量不够消耗,那么从i点继续走回起点油量就肯定大于消耗,因为总油量和消耗相等。i从0开始累加rest[i],和记为curSum,一旦curSum小于零,说明[0, i]区间都不能作为起始位置,因为这个区间选择任何一个位置作为起点,到i这里都会断油,区间和1 + 区间和2 < 0 同时 区间和2>0,只能说明区间和1 < 0, 那么就会从假设的箭头初就开始从新选择其实位置了。
2024-04-18 15:24:27
352
原创 LeetCode:343. 整数拆分
为什么没有 dp[j] * dp[i-j],因为dp[j]拆分再之前的j*dp[i-j]已经包含。算是一个trick,使得不重复。
2024-04-08 15:27:45
137
1
原创 63. 不同路径 II
记录一下初始化的技巧,第一行第一列碰到障碍物后面数值都是0,可以再for第二个条件中添加判断,不满足后跳出循环,没遍历到的值还是初值0.
2024-04-08 14:42:36
111
原创 自注意力机制
依然是thinking的词向量表示,只不过这个词向量表示蕴含了thinking machines这句话对于thinking而言哪个更重要的信息。现在我通过thinking machines这句话去查询这句话里的每一个单词和thinking之间的相似度。Self-Attention的关键点 在于。就是 thinking 的新的向量表示。不仅规定了QKV同源,还规定了做法。接下来步骤和注意力机制一模一样。对于thinking,初始词向量。
2023-09-25 18:43:49
521
原创 注意力机制
故名思意,研究这个机制就是为了对于一个模型而言(CNN、LSTM),很难决定什么重要,什么不重要由此,注意力机制诞生。科学家发现给这张图,眼睛重点聚集在红色区域。这些红色区域可能包含更重要的信息。
2023-09-25 17:02:31
184
原创 硕士应聘大专老师
招聘信息当地人社局、学校(官方)公告出完没多久就要考试面试,提前联系当地院校,问是否招人。校招南方某些学校会直接去招老师。能选南方选南方。公办聘任制可能给转正。一二线城市硕士不给编制。(凉)
2023-09-23 14:52:33
3768
2
原创 判断推理 -- 图形推理 -- 属性规律
中心对称:取一个点,穿过中心能找到另一个对称点。把轴对称 + 中心对称标出来。五角星不是中心对称。BD对称轴方向相同,但135自带对称轴,24没带,所以6应该不带对称轴。白色对称轴 平行 或者 夹角 45°。有一个不是对称,这题解题点就不是对称。面用线进行连接 还是 靠在一起。很多年都不考,频率很低。
2023-08-16 11:49:18
235
1
原创 判断推理 -- 图形推理 -- 位置规律
90%横着看找规律,第一行找规律,第二行验证规律,第三行应用规律。左右不一定完全一致,只是一种思维。用到了重头跑,不是折返跑。翻转是转动,数外面的X和中间的0,注意细节!二组图:从第一组图找规律,第二组图应用规律。第二列和第三列是上下翻,这样排列不方便看。所有有元素组成都是线,三角形,五角星。底边顺时针移动,三角形顶点在转圈。通过点到阴影是顺逆时针来判断。左右翻完两个图形是一样的。上下翻完两个图形是一样的。一组图:从前往后找规律。现在递减很少,基本不考。
2023-08-14 16:03:00
185
原创 资料分析 -- 重点题型 -- 简单计算和直接查找类
资料分析一般比较严谨,其中的总和等于总收入,一相减就是A选项。把前项的乘数拆成和后项一样,然后提公因式。有好几个要加在一起,把首位加起来,再用后面位数去估算。20题 一般 有 4-6题。相加减一定要用百分点。这种题一定要快+准。
2023-08-13 20:59:17
34
原创 资料分析 速算技巧
估算原则:保留三位有效数字(上限,误差最多千分之五)。根据选项差距来具体判断保留几位小数。直接用首位法。对分子估算没有意义首位差距大,比较首位就行,都不用动笔,用眼睛看就行。碰到9或1直接进位或者退位去算,差别不大。多步连除,选项一定差距大,把相近的放到一起去相除,大胆估算。
2023-08-13 20:07:26
171
原创 判断推理 -- 定义判断
胡服骑射:是战国时期,公元前302年,赵武灵王采取军事改革措施,学习西北方游牧和半游牧民族的服饰,学习骑马射箭,史称“胡服骑射”。禁断胡语:北魏孝文帝推行了“禁断胡语”的改革措施,即禁止说胡语,革除鲜卑风俗。一个题目中出现很多定义,题目问哪个定义,看对应的定义即可。主要就是刷题,没什么技巧。父亲和局长的角色混淆了,常识,没办法,不太会。
2023-08-11 16:49:10
65
原创 判断推理 -- 逻辑判断 -- 翻译推理
依托了一门学科,逻辑学,只需要有最基本的逻辑判断能力。逻辑关联词:如果 那么;翻译推理是最基础的内容,考的少。逻辑论证最重要 考6-7题。可以连成一条链,判断的更快。
2023-08-10 16:58:31
557
原创 判断推理 -- 类比推理
考试的时候造个句子就行了,分别按照AB填入,看看句子是否通顺。B\D都是反义词,需要进行二级辨析,通过词语情感来判断。白醋的主要功能是调味,额外作用才是消毒,不是主要功能。直接用包含关系判断,判断不出再细化 组合和种属关系。二级辨析,通过区分工艺,判断是物理变化还是化学变化。汽油主要功能是加油产生动力,额外作用才可以是去渍。反对关系:不是1,可以是2,还可以是3.整体看没规律,可以在词语内部找规律。二级辨析,A、B通过中外来源来判断。A有一部分是B,B有一部分是A。二级辨析,通过主体来判断。
2023-08-09 16:44:15
59
原创 1617. 统计子树中城市之间最大距离
因为道路是双向的,所以两个节点有相邻关系就可以互为父子。为了避免循环,采用vis[]数组来记录当前节点是否已经递归过了。并且vis[]数组还可以通过与inSet[]比较来判断是否所有的节点都已经遍历过了,防止把森林的情况也加进去了。通过枚举把所有的子集列举出来,通过inSet布尔数组来表示。树形dp是因为 子树的直径 就等于 城市间的最大距离。此题的思路不难想,使用枚举+树形dp。
2023-08-04 16:32:00
38
原创 树形DP①树的直径
树形dp:我的理解是能按照拓扑序转移就可以算 DP。值得注意的是,这期讲的内容是没有重叠子问题的,所以看上去写个简单递归就解决了,树形 DP 是个约定俗成的叫法。
2023-08-04 11:57:57
41
原创 1547. 切棍子的最小成本
对于设定初始值,我可以这样认为,需要计算的值可以把初值先初始化为无穷大,因为再后续状态转移中会消除这种影响,使得初值不会影响到最终结果。对于无法切割或者不成木棍的情况,可以设置为0,不在计算过程中起作用。
2023-08-03 14:53:26
48
原创 1771. 由子序列构造的最长回文串的长度
这题跟516 最长回文子串那题挺像的,但是有一个坑,就是选取的子串所有元素不能来自于同一个子串,如果最后直接返回 dp[0][n-1] 这就对最后答案是否来自同一子串存在疑问,如果在dp中进行判断更改,会影响后续的递推。解决上述问题的方法听巧妙的,因为当(arr[i] == arr[j])时,(arr[i] 和 arr[j])都会被选中,那么可以根据i和j是否在指定区间内来判断是否分属于两个子串,如果是才更新答案。
2023-08-02 17:21:24
44
原创 1312. 让字符串成为回文串的最少插入次数
但是状态转移方程等于dp[5][4],因为之前赋初值,所以等于无穷大,后续会把这个状态给消除了,相当于没有把操作值正确写入。所以不必赋初值,当i > j 时只有是回文串才会有可能遍历到,所以可以把i > j 的所有元素赋值为0,表示回文状态。有一点值得注意,我把初值设置成正无穷大,因为状态转移的时候都是取最小值,我寻思这可以通过转移方程把非法状态消除。但是赋初值和不赋初值最后得出的dp数组是不相同的。思路:本体思路比较简单,dp[i][j] 表示子字符串[i,j] 成为回文串的最少操作次数。
2023-08-02 15:50:18
128
原创 买卖股票的最佳时机:无限次/冷冻期/k次
没有考虑前面买入所需要的费用,因为在前面已经算入了。第0天开始不可能持有股票,设置成负无穷,后面取max时就可以转译成一个合法的状态。递归入口,因为最后一天还持有股票后面卖不出去了,所以一定不如最后一天卖出股票来的利润多,所以递归入口留下卖出股票的状态就可以了。上述代码可以进行空间优化,因为f[i + 1][0] 和 f[i + 1][1] 都只用到了dp数组中的f[i][0] 和 f[i][1]两个状态进行转换,故可以用两个变量存储f[i][0] 和 f[i][1]两个值。
2023-08-01 14:47:30
76
原创 1626. 无矛盾的最佳球队+双数组排序方法
本题可以扩展出一种排序的方法,因为要通过同一种逻辑对两个数组分别进行排序,那么可以新建一个id数组,表示球员们的序号下标,那么用所需逻辑对ids数组进行排序,之后遍历的时候通过遍历ids数组来取数即可。排序方法可以采用java的Arrays工具类封装方法,还有,在年龄相同时,必须要让分数值小的在前,因为题意是相同年龄的球员不会产生矛盾,因此该值是需要计算的,因此年龄相等时必须得满足 if (scores[cur] >= scores[pre])。
2023-07-31 18:28:38
33
原创 673. 最长递增子序列的个数
这题主要是沿用了最长递增子序列的套路,主要是要在记录最长递增子序列的过程中也记录一份有子序列的数量,本题我用count数组来记录。
2023-07-31 16:57:43
131
原创 1458. 两个子序列的最大点积
其中初值的设定需要考虑一下,因为一定要有子序列,所以答案可能出现负数,因此可以把dp中所有元素初始化成很大的负数,然后再分类讨论的过程中取最大值即可。也可以在循环中判断,因为只有当i=1或者j=1时才会出现该问题。dp[i][j]的含义是到nums1[i]和nums2[j]为止的子序列的最大点积。那么可以对选不选nums1[i]和nums2[j]进行分类讨论。思路:看到子序列可以采用之前找两个字符串最长公共子序列来套题。
2023-07-28 17:37:35
21
原创 子序列问题+编辑距离(动态规划)
能够得知dfs(i - 1,j)再往下递归可以包含dfs(i - 1,j-1),故没必要再写dfs(i - 1,j-1)。通过反证法,说明了第一个不能忽略的问题。子序列 不一定连续。完整代码如下(使用二维数组);子数组/子串 连续。
2023-07-27 16:03:55
26
原创 总结一下01背包和完全背包
完成dp数组的初始化之后,根据是01背包还是完全背包来选择遍历模板,一般来说,01背包采用倒序遍历,完全背包采用正序遍历,原因是正序遍历会用到之前已经修改过的结果,相当于选取的还是当前的结果,表示可以重复选择。返回值一般就是dp[amount];有些情况可能要做相应的判断。这也就意味着dp数组的值可以是数值,也可以是布尔类型。
2023-07-27 13:53:47
127
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人