自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (1)
  • 收藏
  • 关注

原创 Refcoco

Refcoco

2025-01-25 14:00:26 96

原创 Florence-2: Advancing a Unified Representation for a Variety of Vision Tasks

Florence-2的创新点主要体现在其采用的统一序列到序列学习范式、综合多任务学习策略以及大规模的FLD-5B数据集。通过这些创新,Florence-2实现了多种视觉任务的统一表示和高效处理。它在零样本性能上表现卓越,能够在无需专门训练的情况下处理多种任务,为实际应用提供了极大的便利。在微调性能方面,Florence-2在各种下游任务中都能取得显著的性能提升,展现出了强大的适应性和泛化能力。而且,相对较小的模型规模使得它在计算资源有限的设备上也能高效运行。

2025-01-15 21:13:42 707

原创 机器学习-ensemble技术

投票集成概述定义:投票集成是一种将多个其他模型的预测结果进行组合的集成机器学习模型,可用于分类或回归任务。工作原理:在回归中,通过计算多个模型预测结果的平均值得到最终预测;在分类中,有硬投票和软投票两种方式。硬投票是对每个类标签的预测进行求和,选择票数最多的类标签作为最终预测;软投票是对每个类标签的预测概率进行求和,选择概率总和最大的类标签作为最终预测。适用场景:当有两个或多个在预测建模任务中表现良好且预测结果大多一致的模型时适用;

2024-11-29 20:24:21 782

原创 秋招--工资组成

🌱一般来说工龄满一年就有5天年假的哈,但是有些公司说工作满一年之后的第二年才有年假,一定问清楚!▪️薪资中的浮动部分,如绩效奖金、提成的发放标准是什么?▪️地方政府有无相关人才补贴政策,公司会不会统一申报(租房补贴/人才引进补贴/购房补贴/生活补贴/毕业生交通补贴/餐补等)其他福利:餐补/房补/交通补贴/人才补贴/节日补贴/生日补贴;🌱十三薪和年终奖不是同一回事,相较而言,十三薪更加稳定,但是要问清楚是每个月到手的月薪、还是只有底薪。🌱月薪=固定薪资+绩效+提成+将近+补贴+其他的福利。

2024-11-18 19:27:54 1126

原创 前端八股文--JavaScript

原始类型数据处理typeof null为"Object“引⽤类型。

2024-11-12 21:42:25 261

原创 前端八股文--CSS

基础为什么要初始化CSS样式HTML⻚⾯中 id 和 class 有什么区别伪元素和伪类单位block,inline,inline-blocklink标签的伪类和⽤法重排、重绘和合成盒⼦模型1、盒模型宽度的计算2、margin 纵向重叠3、margin 负值问题4、BFC5、float6、元素居中7、样式单位margin 合并margin和padding 的值为百分⽐时BFC浮动定位⽂档流CSS选择器CSS选择器优先级选择器权重SpecificityCSS属

2024-11-11 15:23:06 253

原创 CVPR 2024- Improved Visual Grounding through Self-Consistent Explanations

经过训练以将图像与文本进行匹配的视觉与语言模型,可以与视觉解释方法相结合,从而指出图像中特定对象的位置。我们的工作表明,通过针对自洽的视觉解释进行微调,这些模型的定位(“基础”)能力能够得到进一步提升。我们提出了一种使用大语言模型为现有文本 - 图像数据集扩充释义的策略,以及SelfEQ,这是一种针对释义的视觉解释图的弱监督策略,用于鼓励自洽性。具体来说,对于一个输入的文本短语,我们尝试生成一个释义,并微调模型,使得该短语及其释义在图像中映射到相同的区域。

2024-11-07 21:02:54 849

原创 前端八股文--vue

VueVue基础MVVMVue的优点和特点v-show 和 v-if 的区别v-if 和 v-for 为什么不建议⼀起使⽤呢双向数据绑定的原理computed 和 watch 的区别Vue中的插槽使⽤Vue中的keyVue过滤器Vue中Scoped原理Vue中的refVue中$nextTick的使⽤

2024-11-07 11:45:54 195

原创 前端八股文--HTML篇

前端八股文

2024-11-06 09:53:29 1038

原创 BS-防火墙规则匹配

iptables是Linux系统的网络访问控制模块,管理员可通过iptables配置允许从哪些来源IP或IP段访问一个Linux主机。iptables支持设置多个规则链,每个规则链中可以包含若干条访问控制规则。当系统收到一个网络报文时,会基于系统配置的访问控制规则来决定是接受还是拒绝这个报文。请开发一个简化版iptables,

2024-11-04 22:04:43 284

原创 BS-栈溢出判断

其中A、B、C、D、E均为函数,A调用了B、C;C调用了E,如果每个函数独立的栈大小分别为:A为10(不包括B、C的栈大小),B为20,C为5,D为15,E为50。调用过程中最大栈空间为路径A->C->E,最大栈空间为65(A->B->D的路径调用最大栈空间为45)。如果整体系统最大额定栈空间配置为60,则A->C->E调用执行时会出现栈溢出异常。三个信息一行打印,中间空格隔开:如果栈溢出,只输出第一次触及栈溢出的调用关系即可(实际上如果发生了栈溢出,系统也会异常,不会继续产生后续调用了)。

2024-11-04 20:50:04 483

原创 BS题目--村落基站建设

如果某个村落建设了基站,那么它和它相邻的村落(本节点、父节点,子节点)也会有信号覆盖。它通过递归遍历树的每个节点,并根据子节点的状态决定当前节点的状态,并更新基站的数量。村落的分布呈现二叉树的形状,我们需要在某些村落建设基站,以确保所有村落都能被至少一个基站覆盖。使用完全二叉树的数组形式表示,从左到右,从上到下遍历,1表示节点存在,0表示节点不存在。这个函数采用后序遍历的方式(先遍历子节点,再处理当前节点)来决定哪些节点需要建设基站。函数的逻辑,并通过具体的例子来理解它的实现过程和状态转移。

2024-11-04 20:15:54 1006

原创 19-链表-删除链表的倒数第 N 个结点

0 : val);说明val:节点的值,如果没有提供则默认为0。next:指向下一个节点的引用,如果没有提供则默认为null。通过上述详细的步骤和解释,相信你已经对使用双指针技术删除链表的倒数第 n 个节点的算法有了深入的理解。重要的是理解每一步指针的移动和为什么需要虚拟头结点,这些都是解决类似链表问题的关键。如果你在理解过程中有任何疑问,请随时提问,我会进一步解释和帮助你掌握这些概念。// 1. 快指针先移动 n 步// 2. 同时移动快慢指针,直到快指针到达末尾== null) {

2024-11-03 23:06:19 663

原创 21-链表-合并两个有序链表

回到当前的问题,我们需要将两个升序链表合并成一个新的升序链表。因为如果一个链表为空,剩下的链表已经是有序的了,不需要再比较。在实际应用中,如果链表很长,递归可能会导致栈溢出,这时候可以考虑使用迭代的方式来实现合并。最终,合并后的链表是:1 -> 2 -> 3 -> 4 -> 5 -> 6。在上面的示例中,链表有三个节点,值分别为1、3和5,最后一个节点指向。,它们都是链表的头节点,返回一个新的链表的头节点。此时,剩下的非空链表已经是有序的,无需进一步处理。:每一次递归调用返回的是合并后的链表的头节点。

2024-11-03 22:37:35 1006

原创 142-链表-环形链表 II

通过使用快慢指针的方法,我们不仅能够检测出链表中是否存在环,还能有效地找到环的起始节点。这种方法时间复杂度为 O(n),空间复杂度为 O(1),非常高效。理解了这个算法后,你可以自信地解决链表中关于环检测和相关的问题。

2024-11-03 22:27:04 893

原创 141-链表-环形链表

哈希表方法:简单直观,适用于大多数编程语言中,但需要额外的空间来存储节点信息。快慢指针法:空间效率更高,仅使用常数级别的额外空间,但需要对指针移动和环的逻辑有深入的理解。在实际应用中,快慢指针法由于其空间优势,通常更受欢迎,特别是在处理大规模数据时。希望通过以上详细的解析,你能更好地理解链表环检测的两种方法以及其中涉及的算法思想和知识点。如果有任何疑问或需要进一步的解释,请随时提问!

2024-11-03 21:57:19 1015

原创 234-链表-回文链表

遍历链表:从头到尾依次访问每个节点。构造正序和逆序字符串:分别记录链表的值的正序和逆序。比较字符串:通过比较正序和逆序字符串,判断链表是否为回文。这种方法的时间复杂度是O(n),空间复杂度也是O(n),其中n是链表的长度。对于初学者来说,这种方法直观且易于理解,非常适合作为解决回文链表问题的入门方法。希望通过以上详细的解释,你能更好地理解这段代码的工作原理和背后的算法思想。如果你有任何疑问,欢迎继续提问!

2024-11-03 21:42:27 636

原创 206-链表-反转链表

单链表(Singly Linked List)是一种线性数据结构,由一系列节点组成。值(Value):存储具体的数据。指针(Next):指向链表中的下一个节点。例如,链表表示一个包含三个节点的单链表,其中1指向22指向33指向null(表示链表的结束)。尾递归和自递归是递归的两种形式,最大的区别在于递归调用的位置及其对调用栈的影响。理解这两者的区别可以帮助我们在编写递归算法时选择合适的方法,以提高效率和避免潜在的栈溢出问题。在实际编程中,选择哪种递归方式通常取决于具体问题的性质和所使用的编程语言的特点。

2024-11-03 20:51:37 1022

原创 160-链表-相交链表

问题描述给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。示例链表A: a1 → a2↘↗链表B: b1 → b2 → b3在这个例子中,两个链表在节点c1开始相交。关键点两个链表的相交是指它们在某个节点开始后,接下来的所有节点都是相同的(即它们共享相同的后续节点)。相交是基于节点的引用(指针)而不是节点的值。因此,即使两个节点的值相同,如果它们是不同的对象,它们也不被认为是相交的。链表长度计算。

2024-11-03 20:17:22 847

原创 74-搜索二维矩阵

通过以上分析,我们可以得出结论:该算法利用了矩阵的结构特性,有效地查找目标值。它的时间复杂度为 O(m + n),空间复杂度为 O(1),在性能上非常高效。如果你还有其他问题或需要进一步的解释,随时告诉我!

2024-11-02 22:37:52 952

原创 35-二分搜索-搜索插入位置

二分查找是一种在有序数组中查找某个特定元素的高效算法。其核心思想是通过反复将查找范围减半,直到找到目标或确定其应插入的位置。时间复杂度为 O(log n),因为每次操作都将查找范围减少一半,非常高效。通过上述详细的代码分析和示例演示,我们深入理解了如何在 JavaScript 中使用闭区间二分查找实现查找或插入的位置。二分查找凭借其高效的时间复杂度,非常适合处理大规模有序数据的查找问题。关键点回顾闭区间写法: 包含left和right,循环条件为。中点计算: 使用确保整数索引。调整查找范围。

2024-11-02 22:27:42 776

原创 二分搜索算法

二分搜索

2024-11-02 22:26:16 246

原创 139-动态规划-单词拆分

DFS是一种用于遍历或搜索树或图的算法。它沿着树的深度遍历,尽可能深地搜索每个分支。当遍历到一个节点时,它会探索该节点的每个分支,直到无法继续为止,然后回溯到上一个节点,继续探索其他分支。在这个问题中,我们可以将字符串s看作是一棵树的路径,每个分割点代表一个分支。我们的目标是找到一条从字符串开始到结束的路径,使得路径上的每一部分都是字典中的单词。// 成功拆分到字符串末尾i <= len;i++) {// 获取从start到i的子串// 如果prefix在字典中,并且剩余子串可以拆分。

2024-11-02 21:42:34 544

原创 322-完全背包-零钱兑换

动态规划适用于具有重叠子问题和最优子结构的问题。我们通过将问题分解为更小的子问题,保存这些子问题的结果,以避免重复计算,从而有效地解决复杂问题。在本题中,我们希望找到组成金额i所需的最少硬币数dp[i],通过利用已经计算出来的较小金额的结果来推导出更大的金额的结果。我们定义一个数组dp,其中dp[i]表示组成金额i所需的最少硬币数。dp[0] = 0,因为组成金额0不需要任何硬币。其他所有dp[i]初始为Infinity,表示暂时无法组成该金额。

2024-11-02 20:47:20 773

原创 494-背包-目标和

1 : 0;这是一个递归函数,用于计算在数组的前i个元素中,和为c的子集个数。

2024-11-02 20:29:33 595

原创 01背包问题

2024-11-02 20:18:44 93

原创 279-动态规划-完全平方数

通过动态规划,我们将原问题拆解为一系列子问题,每个子问题的解都依赖于之前已经解决的子问题。这样不仅高效解决了问题,还避免了重复计算,适用于需要最优解的场景。

2024-11-02 19:52:24 752

原创 198-动态规划-打家劫舍

rob函数接收一个数组nums作为输入,表示每间房屋内的现金。题目:给定一个非负整数数组nums,表示每间房屋内的现金。小偷不能同时偷窃相邻的房屋。你的目标是计算小偷在不触发报警的情况下,能够偷窃到的最高金额。示例12(偷窃房屋 1 和 3 的现金,将得到 2 + 9 + 1 = 12)题目:给定一个非负整数数组nums,表示每间房屋内的现金。小偷不能同时偷窃相邻的房屋。你的目标是计算小偷在不触发报警的情况下,能够偷窃到的最高金额。示例12。

2024-11-02 17:51:19 756

原创 131-字符串-分割回文串

通过详细解析上述代码和算法思想,我们深入理解了如何使用回溯和深度优先搜索来解决字符串分割成回文子串的问题。递归探索:每一步选择一个可能的分割点,递归处理剩余的字符串。有效性检查:只有当子串是回文时,才继续深入,确保最终的分割方案满足条件。路径管理:通过path数组记录当前的分割路径,并在回溯时正确地恢复状态。在 JavaScript 中,使用和s[right]都是可以的,它们的功能是相同的,都是用来获取字符串s中索引为right的字符。不过,了解这两种方法的不同之处和各自的使用场景是有益的。

2024-11-02 17:06:52 876

原创 17-回溯-电话号码的字母组合

题目:给定一个数字字符串digits,返回所有可能的字母组合。映射关系2 -> “abc”3 -> “def”4 -> “ghi”5 -> “jkl”6 -> “mno”8 -> “tuv”回溯算法是通过选择、约束和目标来系统地探索解空间的一种方法。在字母组合问题中,选择体现在数字到字母的映射,目标体现在指针的越界,而约束条件在此问题中没有明显的体现。这种算法的优势在于它能够有效地生成所有可能的组合,适用于许多组合和排列的相关问题。

2024-11-02 16:13:36 1000

原创 79-回溯-单词搜索

我们有一个m x n的二维字符网格board和一个字符串word。任务是确定word字母顺序:单词的字母必须按顺序连在一起。相邻单元格:路径只能在水平和垂直方向上移动(不包括对角线)。不重复使用单元格:同一个单元格不能被重复使用。和单词"SEE",答案是true,因为路径可以是。深度优先搜索(DFS):通过递归的方式深入搜索每一种可能的路径,直到找到匹配的路径或者无法继续。回溯(Backtracking):当某条路径无法继续匹配时,撤销当前选择,回到上一步尝试其他可能的选择。访问标记:使用used。

2024-11-02 16:10:27 978

原创 22-回溯-括号生成

给定一个数字n,表示需要生成n对括号,我们的目标是返回所有可能的有效括号组合。例如,如果n = 3((()))(()())(())()()(())()()()在这个过程中,回溯算法通过不断选择左括号和右括号,结合约束条件来确保生成的括号组合是有效的。通过剪枝,算法避免了无效路径的搜索,确保了效率。最终,所有合法的组合都被生成并收集到结果集中。

2024-11-02 15:43:15 955

原创 39-回溯-组合总和

给定一个无重复元素的整数数组candidates和一个目标整数target,我们需要找到所有和为target的组合。元素可以重复使用,但组合不能重复。选择控制:通过控制start索引来避免重复组合。终止条件:明确了何时加入结果集。撤销选择:通过temp.pop()恢复到上一步状态,以便尝试其他组合。你的复盘总结非常到位,清晰地概述了回溯算法的核心思想和步骤。为了进一步巩固你的理解,我们可以补充一些细节和实例,帮助你更好地掌握回溯的概念和应用。动态性。

2024-11-02 15:10:12 736

原创 78-回溯-子集

题目:给定一个整数数组nums,数组中的元素互不相同。返回该数组所有可能的子集(幂集)。示例输入:nums = [1, 2, 3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]通过回溯算法,我们能够有效地生成一个数组的所有子集。选择与不选择的策略。通过递归深入探索所有可能的组合。使用回溯撤销选择,确保能够尝试所有选项。这种方法不仅适用于生成子集,还可以推广到其他组合、排列等问题。

2024-11-01 14:31:09 690

原创 46-回溯-全排列

题目:给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以按任意顺序返回答案。示例输入:nums = [1, 2, 3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]通过回溯算法,我们能够系统地探索所有可能的数字排列,而无需担心遗漏或重复。这种方法特别适用于需要生成所有组合或排列的问题。选择一个数字:尝试将其加入当前路径。递归探索:基于当前选择,继续探索下一步的选择。撤销选择。

2024-11-01 14:25:45 1160

原创 114-二叉树-二叉树展开为链表

通过这种递归的方法,我们可以有效地将二叉树展开为一个链表,且保持先序遍历的顺序。关键在于利用树的结构特性和递归的思想,逐步将每个节点的左子树转移到右边,同时正确连接所有节点的右指针。这样,我们既能保持代码的简洁性,又能确保性能的高效性。这种方法不仅适用于二叉树的展开,也可以推广到其他树结构的处理。好的,让我们通过你提供的二叉树示例,详细推导将其展开为单链表的过程。我们将使用先序遍历的方式来连接树的节点。

2024-10-31 22:58:01 791

原创 105-二叉树-从前序与中序遍历序列构造二叉树

通过前序遍历和中序遍历序列,可以唯一构建出一棵二叉树。确定根节点:前序遍历的第一个元素。划分子树:在中序遍历中找到根节点的位置,划分出左子树和右子树的遍历序列。递归构建:对左子树和右子树重复上述步骤,直到遍历序列为空。初始的实现方法简单直观,但在大规模数据下可能存在性能问题。通过使用哈希表优化,可以显著提升算法的效率,使其适用于更大规模的输入。我们将使用一个递归函数helper// 基线条件// ...二叉树遍历是指按照特定顺序访问二叉树中的所有节点。

2024-10-31 22:17:17 1765

原创 139-二叉树-二叉树的右视图

BFS 是一种用于遍历或搜索树或图的算法。它从根节点开始,首先访问该节点,然后逐层向下访问每一层的所有节点。实现 BFS 通常使用一个队列来辅助。你提供的这段代码是一种高效且简洁的广度优先搜索(BFS)实现方法,用于获取二叉树的右视图。通过使用两个数组cur和nxt,避免了在队列中频繁使用shift()操作,提高了性能。同时,逻辑清晰,易于理解和维护。

2024-10-31 19:57:49 779

原创 230-二叉树-二叉搜索树中第 K 小的元素

当然,我很高兴帮助你深入理解如何在二叉搜索树(BST)中查找第 k 小的元素。小的元素,可以在 BST 的基础上增强数据结构,例如在每个节点中维护子树的节点数量。为了确保最坏情况下的效率,可以使用平衡二叉搜索树(如 AVL 树、红黑树)。大元素的查找,可以实现双向中序遍历,即同时遍历升序和降序,进一步优化查询速度。因此,通过中序遍历,我们能以排序的顺序访问节点,自然可以轻松找到第。因此,通过中序遍历,我们可以按顺序访问元素,并在访问到第。让我们通过一个具体的例子,详细理解这个算法的执行过程。

2024-10-31 19:29:03 585

原创 98-二叉树-验证二叉搜索树

左子树:节点的左子树只包含小于当前节点的数。右子树:节点的右子树只包含大于当前节点的数。递归性质:左子树和右子树本身也必须是二叉搜索树。中序遍历BST 可以得到一个递增的有序序列。每个节点的值都大于其左子树所有节点的值,小于其右子树所有节点的值。通过递归并维护每个节点的值在特定范围内,我们能够高效地验证整个二叉树是否符合 BST 的性质。时间复杂度O(n),每个节点只被访问一次。空间复杂度O(h),其中h是树的高度,主要用于递归调用栈。中序遍历的严格递增性。

2024-10-31 19:11:14 1014

QuickLook-2020-软件压缩包(全)(48.1M)

QuickLook 是一款 Windows 下的桌面快速预览工具,开源、免费。只需要用鼠标选中文件,然后点击空格,即可预览。就像 macOS 里的那样,支持图片、压缩包、PDF、Office 文档、视频等等。

2021-02-07

空空如也

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

TA关注的人

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