自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Learning to Fuse Asymmetric Feature Maps in Siamese Trackers 论文与代码笔记

ACM模块的结构图大致如上图。就是将模板、搜索区域、第一帧的BBOX 分成三个分支来进行处理,然后将这三部分相加传入head(与SiamBAN结构相同)得到分类与回归结果。代码中,在初始化即生成模板时,就将kernel_part和 bbox_part生成完毕(他们会和每一帧的search_part相加) track方法就是,每一帧都生成search_part和kernel_part和 bbox_part相加得到最终特征传入head。他比DW卷积的好处是可以进行训练,更好的得到融合特征。而且速度也.

2022-03-07 22:13:35 1891 11

原创 剑指 Offer II 108. 单词演变

class Solution { Map<String, Integer> wordId = new HashMap<String, Integer>(); List<List<Integer>> edge = new ArrayList<List<Integer>>(); int nodeNum = 0; public int ladderLength(String beginWord, String

2022-02-26 10:10:06 275

原创 剑指 Offer II 097. 子序列的数目

class Solution { public int numDistinct(String s, String t) { int m = s.length(), n = t.length(); if (m < n) { return 0; } int[][] dp = new int[n + 1][m + 1]; for (int i = 0; i <= m; i++) {

2022-02-21 16:07:31 582

原创 剑指 Offer II 095. 最长公共子序列

给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。示例 1:输入:text1 = “abcde”, text2 = “ace”

2022-02-19 10:45:55 168

原创 剑指 Offer II 076. 数组中的第 k 大的数字

使用快速排序 或者 大根堆两种方法(不考虑调用库)1 快速排序class Solution { public int findKthLargest(int[] nums, int k) { int n = nums.length; int l = 0; int r = n - 1; while (true) { int idx = partition(nums, l, r);

2022-02-08 17:32:08 434

原创 剑指 Offer II 050. 向下的路径节点之和

遍历+前缀和问题求局部的和=target的区间个数,在数组上可以通过前缀和用空间换时间,在二叉树问题内,只有遍历的方式改变了。使用先序遍历+HashMap记录已经累加的值。每次遍历找 cur - target是否存在HashMap中,若存在说明当前路径上的一部分或整个路径之和=target。由于问题特指向下的路径,而且每到一个新的节点要立马判断现在的和且记录下下来,因此考虑使用先序遍历,层序、中序、后序遍历不行。具体写法是,用ans表示答案,先ans += 当前节点满足的个数,然后递归 ans+

2022-01-28 18:02:34 853

原创 [LeetCode]剑指 Offer II 038. 矩阵中最大的矩形

[LeetCode]剑指 Offer II 038. 矩阵中最大的矩形题目示例方法单调栈题目给定一个由 0 和 1 组成的矩阵 matrix ,找出只包含 1 的最大矩形,并返回其面积。注意:此题 matrix 输入格式为一维 01 字符串数组。示例示例 1:输入:matrix = ["10100","10111","11111","10010"]输出:6解释:最大矩形如上图所示。示例 2:输入:matrix = []输出:0示例 3:输入:matrix = ["0"]输出:

2022-01-25 16:10:21 301

原创 [LeetCode]剑指 Offer II 038. 直方图最大矩形面积

[LeetCode]剑指 Offer II 038. 直方图最大矩形面积题目示例方法单调栈题目给定非负整数数组 heights ,数组中的数字用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。示例示例 1:输入:heights = [2,1,5,6,2,3]输出:10解释:最大的矩形为图中红色区域,面积为 10示例 2:输入: heights = [2,4]输出: 4方法单调栈class Solution {

2022-01-23 19:55:07 260

原创 [LeetCode]剑指 Offer II 038. 每日温度

[LeetCode]剑指 Offer II 038. 每日温度题目示例方法单调栈题目请根据每日 气温 列表 temperatures ,重新生成一个列表,要求其对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。示例示例 1:输入: temperatures = [73,74,75,71,69,72,76,73]输出: [1,1,4,2,1,1,0,0]示例 2:输入: temperatures = [30,40,50,60]

2022-01-22 17:33:43 229

原创 matplotlib绘制目标跟踪算法的性能对比图(OTB数据集)

效果图Success Rate绘制的代码如下import numpy as npimport matplotlib.pyplot as pltimport json# 存放OTB测试生成的json文件目录filename_our = r'xxx.json'filename_origin = r'xxx.json'with open(filename_our) as f: result = json.load(f) # 拿到overall的成功率曲线数据,共51条

2022-01-13 14:18:33 3175 1

原创 [LeetCode]剑指 Offer II 008. 和大于等于 target 的最短子数组

[LeetCode]剑指 Offer II 008. 和大于等于 target 的最短子数组题目示例方法前缀和+滑动窗口题目给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。示例示例 1:输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3]

2022-01-08 16:18:39 122

原创 [LeetCode]剑指 Offer II 005. 单词长度的最大乘积

[LeetCode]剑指 Offer II 005. 单词长度的最大乘积题目示例方法位运算+遍历题目给定一个字符串数组 words,请计算当两个字符串 words[i] 和 words[j] 不包含相同字符时,它们长度的乘积的最大值。假设字符串中只包含英语的小写字母。如果没有不包含相同字符的一对字符串,返回 0。示例示例 1:输入: words = ["abcw","baz","foo","bar","fxyz","abcdef"]输出: 16 解释: 这两个单词为 "abcw", "fxyz

2022-01-07 21:34:38 463

原创 [Java]ConcurrentHashMap(jdk1.7)源码笔记

在jdk1.7中,ConcurrentHashMap主要靠segment来实现线程安全,在执行put时,以segment为单位进行加锁,每一个segment就像一个小的HashMap。后面还有一些扩容时元素转移的细节,最后一块的举例是我的猜想。...

2022-01-07 19:13:12 322

原创 [Java]HashMap的resize()方法笔记

resize()方法主要注意扩容逻辑与桶内元素的转移逻辑。涉及红黑树方法的部分没有记录笔记,主要是table的扩容与桶内链表的转移。

2022-01-06 17:55:55 467

原创 [LeetCode]11.盛最多水的容器

[LeetCode]11.盛最多水的容器题目示例方法贪心、双指针题目给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。示例示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能

2022-01-04 10:10:33 68

原创 [LeetCode]390.消除游戏

[LeetCode]390.消除游戏题目示例方法模拟题目列表 arr 由在范围 [1, n] 中的所有整数组成,并按严格递增排序。请你对 arr 应用下述算法:从左到右,删除第一个数字,然后每隔一个数字删除一个,直到到达列表末尾。重复上面的步骤,但这次是从右到左。也就是,删除最右侧的数字,然后剩下的数字每隔一个删除一个。不断重复这两步,从左到右和从右到左交替进行,直到只剩下一个数字。 给你整数 n ,返回 arr 最后剩下的数字。示例示例 1:输入:n = 9输出:6解释:arr

2022-01-02 16:17:15 2046

原创 [LeetCode]507.完美数

[LeetCode]507.完美数题目示例方法模拟题目对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」。给定一个 整数 n, 如果是完美数,返回 true,否则返回 false示例示例一输入:num = 28输出:true解释:28 = 1 + 2 + 4 + 7 + 141, 2, 4, 7, 和 14 是 28 的所有正因子。示例二输入:num = 6输出:true示例三输入:num = 496输出:true示例四

2021-12-31 10:13:52 176

原创 [Java]ArrayList的构造器与add方法和扩容机制流程

源码:/** * 带初始容量参数的构造函数(用户可以在创建ArrayList对象时自己指定集合的初始大小) */ public ArrayList(int initialCapacity) { if (initialCapacity > 0) { //如果传入的参数大于0,创建initialCapacity大小的数组 this.elementData = new Object[initialCapacit..

2021-12-30 21:08:57 502

原创 [LeetCode]846.一手顺子

[LeetCode]846.一手顺子题目示例方法模拟题目Alice 手中有一把牌,她想要重新排列这些牌,分成若干组,使每一组的牌数都是 groupSize ,并且由 groupSize 张连续的牌组成。给你一个整数数组 hand 其中 hand[i] 是写在第 i 张牌,和一个整数 groupSize 。如果她可能重新排列这些牌,返回 true ;否则,返回 false 。示例示例一输入:hand = [1,2,3,6,2,3,4,7,8], groupSize = 3输出:true解释

2021-12-30 13:13:33 275

原创 [LeetCode]1995.统计特殊四元组

[LeetCode]1995.统计特殊四元组题目示例方法模拟题目给你一个 下标从 0 开始 的整数数组 nums ,返回满足下述条件的 不同 四元组 (a, b, c, d) 的 数目 :nums[a] + nums[b] + nums[c] == nums[d] ,且a < b < c < d示例示例一输入:nums = [1,2,3,6]输出:1解释:满足要求的唯一一个四元组是 (0, 1, 2, 3) 因为 1 + 2 + 3 == 6 。示例二输入

2021-12-29 10:53:47 260

原创 [LeetCode]825.适龄的朋友

[LeetCode]825.适龄的朋友题目示例方法双指针题目在社交媒体网站上有 n 个用户。给你一个整数数组 ages ,其中 ages[i] 是第 i 个用户的年龄。如果下述任意一个条件为真,那么用户 x 将不会向用户 y(x != y)发送好友请求:age[y] <= 0.5 * age[x] + 7age[y] > age[x]age[y] > 100 && age[x] < 100否则,x 将会向 y 发送一条好友请求。注意,如果 x 向

2021-12-27 20:46:26 3781

原创 [LeetCode]1078.Bigram分词

[LeetCode]1078.Bigram分词题目示例方法一次遍历题目给出第一个词 first 和第二个词 second,考虑在某些文本 text 中可能以 “first second third” 形式出现的情况,其中 second 紧随 first 出现,third 紧随 second 出现。对于每种这样的情况,将第三个词 “third” 添加到答案中,并返回答案。示例示例一输入:text = “alice is a good girl she is a good student”, f

2021-12-26 15:27:13 154

原创 [Java]JDK1.7中HashMap的并发死链

[Java]JDK1.7中HashMap的并发死链HashMap的并发死链现象发生在扩容时,在扩容过程中**transfer()**方法负责把旧的键值对转移到新的表中,其代码如下:void transfer(Entry[] newTable, boolean rehash) { int newCapacity = newTable.length; for (Entry<K,V> e : table) { while(null != e) { Entry<K,V

2021-12-25 19:22:13 1466

原创 [LeetCode]1609.奇偶树

[LeetCode]1609.奇偶树题目示例方法DFS题目如果一棵二叉树满足下述几个条件,则可以称为 奇偶树 :二叉树根节点所在层下标为 0 ,根的子节点所在层下标为 1 ,根的孙节点所在层下标为 2 ,依此类推。偶数下标 层上的所有节点的值都是 奇 整数,从左到右按顺序 严格递增奇数下标 层上的所有节点的值都是 偶 整数,从左到右按顺序 严格递减给你二叉树的根节点,如果二叉树为 奇偶树 ,则返回 true ,否则返回 false 。示例示例一输入: root = [1,10,4,

2021-12-25 10:26:19 85

原创 [LeetCode]1705.吃苹果的最大数目

[LeetCode]1705.吃苹果的最大数目题目示例方法贪心题目有一棵特殊的苹果树,一连 n 天,每天都可以长出若干个苹果。在第 i 天,树上会长出 apples[i] 个苹果,这些苹果将会在 days[i] 天后(也就是说,第 i + days[i] 天时)腐烂,变得无法食用。也可能有那么几天,树上不会长出新的苹果,此时用 apples[i] == 0 且 days[i] == 0 表示。你打算每天 最多 吃一个苹果来保证营养均衡。注意,你可以在这 n 天之后继续吃苹果。给你两个长度为 n 的整

2021-12-24 13:21:03 411

原创 [LeetCode]686.重复叠加字符串匹配

**[LeetCode]686.重复叠加字符串匹配**题目示例方法直接计算题目给定两个字符串 a 和 b,寻找重复叠加字符串 a 的最小次数,使得字符串 b 成为叠加后的字符串 a 的子串,如果不存在则返回 -1。注意:字符串 “abc” 重复叠加 0 次是 “”,重复叠加 1 次是 “abc”,重复叠加 2 次是 “abcabc”。示例示例一输入: a = “abcd”, b = “cdabcdab”输出:3解释:a 重复叠加三遍后为 “abcdabcdabcd”, 此时 b 是其子串

2021-12-22 11:13:14 124

原创 [LeetCode]1154.一年中的第几天

[LeetCode]1154.一年中的第几天题目示例方法直接计算题目给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。请你计算并返回该日期是当年的第几天。通常情况下,我们认为 1 月 1 日是每年的第 1 天,1 月 2 日是每年的第 2 天,依此类推。每个月的天数与现行公元纪年法(格里高利历)一致。示例示例一输入: date = “2019-01-09”输出:9示例二输入:date = “2019-02-10”输出:41示例三输入

2021-12-21 10:25:18 150

原创 [LeetCode]475.供暖器

[LeetCode]475.供暖器题目示例方法双指针+二分法题目冬季已经来临。 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖。在加热器的加热半径范围内的每个房屋都可以获得供暖。现在,给出位于一条水平线上的房屋 houses 和供暖器 heaters 的位置,请你找出并返回可以覆盖所有房屋的最小加热半径。说明:所有供暖器都遵循你的半径标准,加热的半径也一样。示例示例一输入: houses = [1,2,3], heaters = [2]输出:1解释:仅在位置2上有一个供暖器。

2021-12-20 10:36:35 99

原创 [LeetCode]1518.换酒问题

[LeetCode]1518.换酒问题题目示例方法模拟题目小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒。你购入了 numBottles 瓶酒。如果喝掉了酒瓶中的酒,那么酒瓶就会变成空的。请你计算 最多 能喝到多少瓶酒。示例示例一输入: numBottles = 9, numExchange = 3输出:13解释:你可以用 3 个空酒瓶兑换 1 瓶酒。所以最多能喝到 9 + 3 + 1 = 13 瓶酒。示例二输入:numBottles = 15, num

2021-12-17 09:17:11 73

原创 [LeetCode]630.课程表Ⅲ

[LeetCode]630.课程表Ⅲ题目示例方法贪心题目这里有 n 门不同的在线课程,按从 1 到 n 编号。给你一个数组 courses ,其中 courses[i] = [durationi, lastDayi] 表示第 i 门课将会 持续 上 durationi 天课,并且必须在不晚于 lastDayi 的时候完成。你的学期从第 1 天开始。且不能同时修读两门及两门以上的课程。返回你最多可以修读的课程数目。示例示例一输入: courses = [[100, 200], [200, 13

2021-12-14 09:41:20 173

原创 [LeetCode]807.保持城市天际线

[LeetCode]807.保持城市天际线题目示例方法贪心题目在二维数组grid中,**grid[i][j]**代表位于某处的建筑物的高度。 我们被允许增加任何数量(不同建筑物的数量可能不同)的建筑物的高度。 高度 0 也被认为是建筑物。最后,从新数组的所有四个方向(即顶部,底部,左侧和右侧)观看的“天际线”必须与原始数组的天际线相同。 城市的天际线是从远处观看时,由所有建筑物形成的矩形的外部轮廓。 请看下面的例子。建筑物高度可以增加的最大总和是多少?示例示例一输入: grid = [[3,

2021-12-13 12:59:55 84

原创 [LeetCode]709.转换成小写字母

[LeetCode]709.转换成小写字母题目示例方法一次遍历题目给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。示例示例一输入:s = “Hello”输出:“hello”示例一输入:s = “here”输出:“here”示例一输入:s = “LOVELY”输出:“lovely”方法一次遍历class Solution { public String toLowerCase(String s) { Str

2021-12-12 09:59:15 164

原创 [LeetCode]911.在线选举

[LeetCode]911.在线选举题目示例方法提前记录题目给你两个整数数组 persons 和 times 。在选举中,第 i 张票是在时刻为 times[i] 时投给候选人 persons[i] 的。对于发生在时刻 t 的每个查询,需要找出在 t 时刻在选举中领先的候选人的编号。在 t 时刻投出的选票也将被计入我们的查询之中。在平局的情况下,最近获得投票的候选人将会获胜。实现 TopVotedCandidate 类:TopVotedCandidate(int[] persons, int[

2021-12-11 17:09:02 366

原创 [LeetCode]749.有效的井字游戏

[LeetCode]749.有效的井字游戏题目示例方法滑动窗口题目给你一个字符串数组 board 表示井字游戏的棋盘。当且仅当在井字游戏过程中,棋盘有可能达到 board 所显示的状态时,才返回 true 。井字游戏的棋盘是一个 3 x 3 数组,由字符 ’ ',‘X’ 和 ‘O’ 组成。字符 ’ ’ 代表一个空位。以下是井字游戏的规则:玩家轮流将字符放入空位(’ ')中。玩家 1 总是放字符 ‘X’ ,而玩家 2 总是放字符 ‘O’ 。‘X’ 和 ‘O’ 只允许放置在空位中,不允许对已放有

2021-12-10 10:17:15 6085

原创 [LeetCode]748.最短补全词

[LeetCode]748.最短补全词题目示例方法用字母表数组统计出现次数题目给你一个字符串 licensePlate 和一个字符串数组 words ,请你找出并返回 words 中的 最短补全词 。补全词 是一个包含 licensePlate 中所有的字母的单词。在所有补全词中,最短的那个就是 最短补全词 。在匹配 licensePlate 中的字母时:忽略 licensePlate 中的 数字和空格 。不区分大小写。如果某个字母在 licensePlate 中出现不止一次,那么该字母在补

2021-12-10 10:05:13 271

原创 [LeetCode]689.三个无重叠子数组的最大和

[LeetCode]689.三个无重叠子数组的最大和题目示例方法滑动窗口题目给你一个整数数组 nums 和一个整数 k ,找出三个长度为 k 、互不重叠、且 3 * k 项的和最大的子数组,并返回这三个子数组。以下标的数组形式返回结果,数组中的每一项分别指示每个子数组的起始位置(下标从 0 开始)。如果有多个结果,返回字典序最小的一个。示例示例一输入:nums = [1,2,1,2,6,7,5,1], k = 2输出:[0,3,5]解释: 子数组 [1, 2], [2, 6], [7,

2021-12-08 10:26:22 251

原创 [LeetCode]1034.边界着色

[LeetCode]1034.边界着色题目示例关于题目的解释方法BFS广度优先搜索题目给你一个大小为 m x n 的整数矩阵 grid ,表示一个网格。另给你三个整数 row、col 和 color 。网格中的每个值表示该位置处的网格块的颜色。当两个网格块的颜色相同,而且在四个方向中任意一个方向上相邻时,它们属于同一 连通分量 。连通分量的边界 是指连通分量中的所有与不在分量中的网格块相邻(四个方向上)的所有网格块,或者在网格的边界上(第一行/列或最后一行/列)的所有网格块。请你使用指定颜色 co

2021-12-07 10:17:01 276 1

原创 [Xshell :Socket error Event: 32 Error: 10053]的一个解决方法

在会话的属性中,的SSH ——>隧道中,将转发X11链接到(x)取消勾选。

2021-12-06 12:39:50 2192 1

原创 [LeetCode]1816. 截断句子

[LeetCode]1816. 截断句子题目示例方法一次遍历题目句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格。每个单词仅由大小写英文字母组成(不含标点符号)。例如,“Hello World”、“HELLO” 和 “hello world hello world” 都是句子。给你一个句子 s​​​​​​ 和一个整数 k​​​​​​ ,请你将 s​​ 截断 ​,​​​使截断后的句子仅含 前 k​​​​​​ 个单词。返回 截断 s​​​​​​ 后得到的句子。示例

2021-12-06 08:57:10 154

原创 [LeetCode]372. 超级次方

[LeetCode]372. 超级次方题目示例方法逆序递归题目你的任务是计算 ab 对 1337 取模,a 是一个正整数,b 是一个非常大的正整数且会以数组形式给出。示例示例一输入:a = 2, b = [3]输出:8示例二输入:a = 2, b = [1,0]输出:1024示例三输入:a = 1, b = [4,3,3,8,5,2]输出:1示例四输入:a = 2147483647, b = [2,0,0]输出:1198方法逆序递归class Solu

2021-12-05 11:03:14 197

空空如也

空空如也

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

TA关注的人

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