自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(194)
  • 资源 (20)
  • 收藏
  • 关注

原创 从进程pid反推获得该进程所属容器

从进程pid反推获得该进程所属容器

2023-08-08 07:43:09 156

原创 凸包——安装栅栏leetcode(587)

凸包——安装栅栏leetcode(587)

2022-06-03 18:48:04 209 2

原创 单调栈模板——子数组的最小值之和(leetcode 907)

题目描述给定一个整数数组 arr,找到 min(b)的总和,其中 b 的范围为 arr 的每个(连续)子数组。由于答案可能很大,因此 返回答案模 10^9 + 7 。示例 1:输入:arr = [3,1,2,4]输出:17解释:子数组为 [3],[1],[2],[4],[3,1],[1,2],[2,4],[3,1,2],[1,2,4],[3,1,2,4]。最小值为 3,1,2,4,1,1,2,1,1,1,和为 17。示例 2:输入:arr = [11,81,94,4...

2022-05-24 22:35:18 242

原创 并查集板子

题目给定一个包含n个点(编号为 1∼n)的无向图,初始时图中没有边。现在要进行m个操作,操作共有三种:C a b,在点a和点b之间连一条边,a和b可能相等; Q1 a b,询问点a和点b是否在同一个连通块中,a和b可能相等; Q2 a,询问点a所在连通块中点的数量;输入格式第一行输入整数n和m。接下来m行,每行包含一个操作指令,指令为C a b,Q1 a b或Q2 a中的一种。输出格式对于每个询问指令Q1 a b...

2022-05-18 22:40:21 173

原创 AcWing 835. Trie字符串统计

题目描述维护一个字符串集合,支持两种操作:I x向集合中插入一个字符串x; Q x询问一个字符串在集合中出现了多少次。共有NN个操作,输入的字符串总长度不超过10^5,字符串仅包含小写英文字母。输入格式第一行包含整数NN,表示操作数。接下来NN行,每行包含一个操作指令,指令为I x或Q x中的一种。输出格式对于每个询问指令Q x,都要输出一个整数作为结果,表示x在集合中出现的次数。每个结果占一行。数据范围1≤N≤2∗104输入......

2022-05-14 14:49:15 84

原创 动态规划——多重背包问题 II

问题描述有N种物品和一个容量是V的背包。第ii种物品最多有si件,每件体积是vi,价值是wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V 用空格隔开,分别表示物品种数和背包容积。接下来有N 行,每行三个整数vi,wi,si,用空格隔开,分别表示第i种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。数据范围0<N≤10000<V≤2000...

2022-04-23 23:40:05 128

转载 树形dp——P1122 最大子树和

题目描述小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题。一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题。于是当日课后,小明就向老师提出了这个问题:一株奇怪的花卉,上面共连有N朵花,共有N-1条枝干将花儿连在一起,并且未修剪时每朵花都不是孤立的。每朵花都有一个“美丽指数”,该数越大说明这朵花越漂亮,也有“美丽指数”为负数的,说明这朵花看着都让人恶心。所谓“修剪”,意为:去掉其中的一条枝条,这样一株花就成了两株,扔掉其中一株。

2022-04-20 23:40:29 148

原创 单链表排序

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next.

2022-03-22 23:30:07 96

原创 迪杰斯特拉

vector<long long> Dijkstra(vector<vector<pair<int,int>>>& g, int s, int n) { priority_queue<pair<long long, int>, vector<pair<long long, int>>, greater<pair<long long,int>>> que;...

2022-03-13 21:02:35 486

原创 动态规划—参加会议的最多员工数(leetcode 2127)

题目描述一个公司准备组织一场会议,邀请名单上有 n 位员工。公司准备了一张 圆形 的桌子,可以坐下 任意数目 的员工。员工编号为 0 到 n - 1 。每位员工都有一位 喜欢 的员工,每位员工 当且仅当 他被安排在喜欢员工的旁边,他才会参加会议。每位员工喜欢的员工 不会 是他自己。给你一个下标从 0 开始的整数数组 favorite ,其中 favorite[i] 表示第 i 位员工喜欢的员工。请你返回参加会议的 最多员工数目 。示例 1:输入:favorite = [2.

2022-01-06 23:30:34 863

原创 动态规划—最大平均值和的分组(leetcode 813)

1、题目描述我们将给定的数组 A 分成 K 个相邻的非空子数组 ,我们的分数由每个子数组内的平均值的总和构成。计算我们所能得到的最大分数是多少。注意我们必须使用 A 数组中的每一个数进行分组,并且分数不一定需要是整数。示例:输入:A = [9,1,2,3,9]K = 3输出: 20解释:A 的最优分组是[9], [1, 2, 3], [9]. 得到的分数是 9 + (1 + 2 + 3) / 3 + 9 = 20.我们也可以把 A 分成[9, 1], [2], [3, 9].这

2021-12-30 00:07:27 351

原创 欧拉通路—合法重新排列数对(leetcode 2097)

题目描述给你一个下标从 0开始的二维整数数组pairs,其中pairs[i] = [starti, endi]。如果 pairs的一个重新排列,满足对每一个下标 i (1 <= i < pairs.length)都有endi-1 == starti ,那么我们就认为这个重新排列是pairs 的一个 合法重新排列 。请你返回 任意一个pairs 的合法重新排列。注意:数据保证至少存在一个 pairs的合法重新排列。示例 1:输入:pairs = [[5...

2021-12-10 23:49:21 3702

原创 找出知晓秘密的所有专家(leetcode 2092)

题目描述给你一个整数 n ,表示有 n 个专家从 0 到 n - 1 编号。另外给你一个下标从 0 开始的二维整数数组 meetings ,其中 meetings[i] = [xi, yi, timei] 表示专家 xi 和专家 yi 在时间 timei 要开一场会。一个专家可以同时参加 多场会议 。最后,给你一个整数 firstPerson 。专家 0 有一个 秘密 ,最初,他在时间 0 将这个秘密分享给了专家 firstPerson 。接着,这个秘密会在每次有知晓这个秘密的专家参加会议时进行传

2021-12-01 00:00:13 333

原创 动态规划—使序列递增的最小交换次数(leetcode 801)

题目描述我们有两个长度相等且不为空的整型数组 A 和 B 。我们可以交换 A[i] 和 B[i] 的元素。注意这两个元素在各自的序列中应该处于相同的位置。在交换过一些元素之后,数组 A 和 B 都应该是严格递增的(数组严格递增的条件仅为A[0] < A[1] < A[2] < ... < A[A.length - 1])。给定数组 A 和 B ,请返回使得两个数组均保持严格递增状态的最小交换次数。假设给定的输入总是有效的。示例:输入: A = [1,3,5,4

2021-11-26 23:02:13 564

原创 动态规划—两个字符串的删除操作(leetcode 583)

题目描述给定两个单词word1和word2,找到使得word1和word2相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。示例:输入: "sea", "eat"输出: 2解释: 第一步将"sea"变为"ea",第二步将"eat"变为"ea"提示:给定单词的长度不超过500。给定单词中的字符只含有小写字母。问题分析方法一:最长公共子序列给定两个字符串word1和word2,分别删除若干字符之后使得两个字符串相同,则剩下的字符为两个字符串的公共...

2021-11-24 23:16:05 322

原创 动态规划—最长公共子序列(leetcode 1143)

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

2021-11-24 21:59:31 99

原创 动态规划—分割回文串 II(leetcode 132)

题目描述给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。返回符合要求的 最少分割次数 。示例 1:输入:s = "aab"输出:1解释:只需一次分割就可将s 分割成 ["aa","b"] 这样两个回文子串。示例 2:输入:s = "a"输出:0示例 3:输入:s = "ab"输出:1提示:1 <= s.length <= 2000s 仅由小写英文字母组成问题分析动态规划:定义 f[len] 为将 [1,i] 这一.

2021-11-22 23:33:32 224

原创 动态规划—分割回文串(leetcode 131)

题目描述给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。回文串 是正着读和反着读都一样的字符串。示例 1:输入:s = "aab"输出:[["a","a","b"],["aa","b"]]示例 2:输入:s = "a"输出:[["a"]]提示:1 <= s.length <= 16s 仅由小写英文字母组成问题分析思路与算法由于需要求出字符串 ss 的所有分割方案,因此我..

2021-11-22 22:45:34 249

原创 动态规划—解码方法(leetcode 91)

题目描述一条包含字母A-Z 的消息通过以下映射进行了 编码 :'A' -> 1'B' -> 2...'Z' -> 26要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,"11106" 可以映射为:"AAJF" ,将消息分组为 (1 1 10 6)"KJF" ,将消息分组为 (11 10 6)注意,消息不能分组为(1 11 06) ,因为 "06" 不能映射为 "F" ,这是由于 "6" 和 "06" 在映射中并不...

2021-11-20 10:32:09 271

原创 动态规划—等差数列划分(leetcode 413)

题目描述如果一个数列 至少有三个元素 ,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,[1,3,5,7,9]、[7,7,7,7] 和 [3,-1,-5,-9] 都是等差数列。给你一个整数数组 nums ,返回数组 nums 中所有为等差数组的 子数组 个数。子数组 是数组中的一个连续序列。示例 1:输入:nums = [1,2,3,4]输出:3解释:nums 中有三个子等差数组:[1, 2, 3]、[2, 3, 4] 和 [1,2,3,4] 自身。示例 2:

2021-11-18 23:39:11 233

原创 动态规划—最长有效括号(leetcode32)

题目描述给你一个只包含 '('和 ')'的字符串,找出最长有效(格式正确且连续)括号子串的长度。示例 1:输入:s = "(()"输出:2解释:最长有效括号子串是 "()"示例 2:输入:s = ")()())"输出:4解释:最长有效括号子串是 "()()"示例 3:输入:s = ""输出:0提示:0 <= s.length <= 3 * 104s[i] 为 '(' 或 ')'问题分析思路和算法我们定义 表示以下标 i 字符结...

2021-11-17 22:24:34 3722

原创 动态规划—最长等差数列(leetcode 1027)

题目描述给定一个整数数组 A,返回 A 中最长等差子序列的长度。回想一下,A 的子序列是列表 其中 。并且如果 B[i+1] - B[i]( 0 <= i < B.length - 1) 的值都相同,那么序列 B 是等差的。示例 1:输入:[3,6,9,12]输出:4解释:整个数组是公差为 3 的等差数列。示例 2:输入:[9,4,7,2,10]输出:3解释:最长的等差子序列是 [4,7,10]。示例 3:输入:[20,1,15,3,10,5,8]

2021-11-10 22:59:43 488

原创 动态规划—最长的斐波那契子序列的长度(leetcode 873)

题目描述如果序列 满足下列条件,就说它是 斐波那契式 的: n >= 3 对于所有 i + 2 <= n,都有 给定一个严格递增的正整数数组形成序列 arr ,找到 arr 中最长的斐波那契式的子序列的长度。如果一个不存在,返回 0 。(回想一下,子序列是从原序列 arr 中派生出来的,它从 arr 中删掉任意数量的元素(也可以不删),而不改变其余元素的顺序。例如, [3, 5, 8] 是 [3, 4, 5, 6, 7, 8] 的一个子序列)示例 1:...

2021-11-09 22:51:34 279

原创 动态规划—删除并获得点数(leetcode 740)

题目描述给你一个整数数组 nums ,你可以对它进行一些操作。每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除 所有 等于 nums[i] - 1 和 nums[i] + 1 的元素。开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。示例 1:输入:nums = [3,4,2]输出:6解释:删除 4 获得 4 个点数,因此 3 也被删除。之后,删除 2 获得 2 个点数。总共获得 6 个点数。示例 2:输入

2021-11-04 21:43:47 277

原创 动态规划—环形子数组的最大和(leetcode 918)

题目描述给定一个由整数数组 A 表示的环形数组 C,求 C 的非空子数组的最大可能和。在此处,环形数组意味着数组的末端将会与开头相连呈环状。(形式上,当0 <= i < A.length 时 C[i] = A[i],且当 i >= 0 时 C[i+A.length] = C[i])此外,子数组最多只能包含固定缓冲区 A 中的每个元素一次。(形式上,对于子数组 C[i], C[i+1], ..., C[j],不存在 i <= k1, k2 <= j 其中 k1 %

2021-10-30 16:11:44 536

原创 拓扑排序—并行课程 III(leetcode 5909)

题目描述给你一个整数 n ,表示有 n 节课,课程编号从 1 到 n 。同时给你一个二维整数数组 relations ,其中 relations[j] = [prevCoursej, nextCoursej] ,表示课程 prevCoursej 必须在课程 nextCoursej 之前 完成(先修课的关系)。同时给你一个下标从 0 开始的整数数组 time ,其中 time[i] 表示完成第 (i+1) 门课程需要花费的 月份 数。请你根据以下规则算出完成所有课程所需要的 最少 月份数:...

2021-10-24 19:28:23 1947

原创 动态规划—最大子矩阵(leetcode 面试题17.24)

题目描述给定一个正整数、负整数和 0 组成的 N × M 矩阵,编写代码找出元素总和最大的子矩阵。返回一个数组 [r1, c1, r2, c2],其中 r1, c1 分别代表子矩阵左上角的行号和列号,r2, c2 分别代表右下角的行号和列号。若有多个满足条件的子矩阵,返回任意一个均可。注意:本题相对书上原题稍作改动示例:输入:[ [-1,0], [0,-1]]输出:[0,1,0,1]解释:输入中标粗的元素即为输出所表示的矩阵说明: 1 <= ...

2021-10-22 23:09:11 350

原创 动态规划—俄罗斯套娃信封问题(leetcode 354)

题目描述给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算 最多能有多少个 信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。注意:不允许旋转信封。示例 1:输入:envelopes = [[5,4],[6,4],[6,7],[2,3]]输出:3解释:最多信封的个数为 .

2021-10-09 22:55:53 345

转载 动态规划—最长递增子序列的个数(leetcode 673)

题目描述给定一个未排序的整数数组,找到最长递增子序列的个数。示例 1:输入: [1,3,5,4,7]输出: 2解释: 有两个最长递增子序列,分别是 [1, 3, 4, 7] 和[1, 3, 5, 7]。示例 2:输入: [2,2,2,2,2]输出: 5解释: 最长递增子序列的长度是1,并且存在5个子序列的长度为1,因此输出5。注意: 给定的数组长度不超过 2000 并且结果一定是32位有符号整数。算法分析方法一:动态规划思路与算法定义 dp[i]表示以

2021-10-06 20:26:43 512

原创 搜索旋转排序数组 II (leetcode 81)

题目描述已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转 ,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,4,4,5,6,6,7] 在下标 5 处经旋转后可能变为 [4,5,6,6,7,0,1,

2021-09-26 21:54:07 64

原创 搜索旋转排序数组(leetcode 33)

题目描述整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。给你 旋转后 的数组.

2021-09-26 21:48:27 59

原创 Dijkstra—网络延迟时间(leetcode743)

题目实际是求节点 K到其他所有点中最远的距离,那么首先需要求出节点 K到其他所有点的最短路,然后取最大值即可。 单源最短路问题可以使用 Dijkstra 算法,其核心思路是贪心算法。流程如下: 1、首先,Dijkstra 算法需要从当前全部未确定最短路的点中,找到距离源点最短的点 x。 2、其次,通过点 x更新其他所有点距离源点的最短距离。例如目前点 A 距离源点最短,距离为 3;有一条 A->B 的有向边,权值为 1,那么从源点先去 A 点再去...

2021-09-11 11:03:03 177

原创 图的深度优先搜索遍历从某一点到另一点的所有路径

class Solution {public: vector<int> dict{-1,0,1,0,-1}; vector<int> cur_v; vector<vector<bool>> sign; void dfs(vector<vector<int>>&A,int row,int col){ if(row<0||row==A.size()||col<0||c.

2021-09-04 18:54:51 560

原创 深度优先搜索—得分最高的路径(leetcode 1102)

题目描述给你一个 R 行 C 列的整数矩阵 A。矩阵上的路径从 [0,0] 开始,在 [R-1,C-1] 结束。路径沿四个基本方向(上、下、左、右)展开,从一个已访问单元格移动到任一相邻的未访问单元格。路径的得分是该路径上的 最小 值。例如,路径 8 → 4 → 5 → 9 的值为 4 。找出所有路径中得分 最高 的那条路径,返回其 得分。示例 1:输入:[[5,4,5],[1,2,6],[7,4,6]]输出:4解释:得分最高的路径用黄色突出显示。示例 2:...

2021-09-04 18:35:09 842

原创 深度优先搜索—边框着色(leetcode 1034)

题目描述给出一个二维整数网格 grid,网格中的每个值表示该位置处的网格块的颜色。只有当两个网格块的颜色相同,而且在四个方向中任意一个方向上相邻时,它们属于同一连通分量。连通分量的边界是指连通分量中的所有与不在分量中的正方形相邻(四个方向上)的所有正方形,或者在网格的边界上(第一行/列或最后一行/列)的所有正方形。给出位于 (r0, c0) 的网格块和颜色 color,使用指定颜色 color 为所给网格块的连通分量的边界进行着色,并返回最终的网格 grid 。示例 1:输入:gr

2021-08-23 21:17:40 143

原创 (DFS+缓存+剪枝)—最小化目标值与所选元素的差(leetcode 5852)

题目描述给你一个大小为 m x n 的整数矩阵 mat 和一个整数 target 。从矩阵的 每一行 中选择一个整数,你的目标是 最小化 所有选中元素之 和 与目标值 target 的 绝对差 。返回 最小的绝对差 。a 和 b 两数字的 绝对差 是 a - b 的绝对值。示例 1:输入:mat = [[1,2,3],[4,5,6],[7,8,9]], target = 13输出:0解释:一种可能的最优选择方案是:- 第一行选出 1- 第二行选出 5- 第三行选出

2021-08-22 20:30:54 136

原创 glove

https://blog.csdn.net/coderTC/article/details/73864097https://zhuanlan.zhihu.com/p/42073620

2021-08-05 22:23:15 64

原创 fasttext

void FastText::trainThread(int32_t threadId) { std::ifstream ifs(args_->input); utils::seek(ifs, threadId * utils::size(ifs) / args_->thread); Model::State state(args_->dim, output_->size(0), threadId + args_->seed); const i...

2021-07-29 14:52:21 68

原创 深度优先搜索—N皇后 II(leetcode 52)

题目描述n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回 n 皇后问题 不同的解决方案的数量。示例 1:输入:n = 4输出:2解释:如上图所示,4 皇后问题存在两个不同的解法。示例 2:输入:n = 1输出:1提示: 1 <= n <= 9 皇后彼此不能相互攻击,也就是说:任何两个皇后都不能处于同一条横行、纵行或斜线上。算法分析这道题和「51. N 皇...

2021-07-28 22:56:37 200 1

原创 深度优先搜索—N 皇后(leetcode 51)

题目描述n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。示例 1:输入:n = 4输出:[[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]解释:如上图所示,4 皇后问题存在两个不同的解法

2021-07-26 23:15:26 514

机器学习常见面试题

阿里天池上总结的机器学习常见面试问题,以及答案,非常详细

2018-06-24

BAT机器学习面试1000题系列

BAT机器学习面试1000题系列,总结的机器学习常见的面试问题

2018-06-24

Opencv入门教程

Opencv 入门教程

2016-01-18

Opencv参考手册

Opencv参考手册 亲测能用

2016-01-18

基于C++的视频图像人脸检测

本代码是在vs+opencv下开发的视频人脸检测,调用基本的库函数实现

2016-01-14

基于matlab的人脸识别算法

基于matlab的人脸识别程序,本程序实现了由输入一张图片和训练完的数据集进行匹配的功能,使用PCA+KNN算法

2016-01-14

酒店人事管理

面向对象课程设计 java swing 酒店人事管理

2015-12-19

数据结构经典算法

数据结构经典算法实现(C语言版的)收集了很多经典的考研题目 算法描述

2014-05-24

ACM程序设计大赛常用算法模板

ACM 程序设计大赛常用算法模板 该模板收集了大部分的模板库

2014-05-24

图书管理系统基于JAVA的

基于JAVA的图书管理系统 本论文是基于java进行开发的

2013-05-21

flash 贺卡代码

flash 贺卡代码 好东西 适合交作业

2012-06-19

C语言资料大全

C语言资料大全

2012-05-31

三级数据库技术笔试历年真卷.rar

三级数据库技术笔试历年真卷.rar

2012-05-30

三级数据库笔记

三级数据库笔记

2012-05-30

全国计算机等级考试三级数据库上机试题汇编2011年版.pdf

全国计算机等级考试三级数据库上机试题汇编2011年版.pdf

2012-05-30

空空如也

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

TA关注的人

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