自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode算法题目合集--动态规划+二分查找

鉴于自ACM退役后一直在LeetCode写题目,一开始写的比较混乱,后来按题目的类别刷题,觉得某个章节,比如动态规划中,很多题目从简单到困难,算法思路都是一致的,这样对于我们刷题和整理笔记很有帮助,因为当你解决一个题目,把这个题目中学到的解题思路只要稍做改变就可以解决一个更困难的题目,那么对我们更加熟练的掌握这个算法肯定有极大的帮助,并且你会发现,学习是有规律可循的,算法也是非常有趣的。于是现在将自己做的题目,把我个人觉得解题思路比较像似的题目罗列出来,以供后来者一起学习交流,当然如果有问题也欢迎及时指出

2020-12-18 13:21:24 825

原创 论文解读《Revisiting Neural Retrieval on Accelerators》

信息检索和推荐应用中,检索任务是从大规模的语料库中找到一小部分相关的候选项。检索的关键组成部分是建模(用户,物品)的相似度,通常表示为两个学习嵌入向量的点积。这种形式允许高效的推理,通常称为最大内积搜索(MIPS)。尽管点积在实践中非常流行,但它无法捕捉复杂的用户-物品交互,这些交互是多方面的且可能具有较高的级别。因此,我们研究了在加速器上的非点积检索设置,并提出了混合对数几率(MoL)方法,它将(用户,物品)的相似度建模为基本相似度函数的自适应组合。

2024-06-18 13:59:48 958

原创 LeetCode LCR 026. 重排链表

LCR 026. 重排链表中等128相关企业给定一个单链表 L 的头节点 head ,单链表 L 表示为:请将其重新排列后变为:不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:输入: head = [1,2,3,4]输出: [1,4,2,3]示例 2:输入: head = [1,2,3,4,5]输出: [1,5,2,4,3]提示:链表的长度范围为 [1, 5 * 104]

2023-09-11 23:59:38 526

原创 LeetCode735. 行星碰撞 -- 栈模拟

对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动)。每一颗行星以相同的速度移动。找出碰撞后剩下的所有行星。碰撞规则:两个行星相互碰撞,较小的行星会爆炸。如果两颗行星大小相同,则两颗行星都会爆炸。两颗移动方向相同的行星,永远不会发生碰撞。示例 1:输入:asteroids = [5,10,-5]输出:[5,10]解释:10 和 -5 碰撞后只剩下 10。5 和 10 永远不会发生碰撞。

2023-07-28 21:30:07 564

原创 LeetCode1657. 确定两个字符串是否接近

操作 1:交换任意两个 现有 字符。例如,abcde -> aecdb操作 2:将一个 现有 字符的每次出现转换为另一个 现有 字符,并对另一个字符执行相同的操作。例如,aacabb -> bbcbaa(所有 a 转化为 b ,而所有的 b 转换为 a )你可以根据需要对任意一个字符串多次使用这两种操作。给你两个字符串,word1 和 word2。如果 word1 和 word2 接近 ,就返回 true;否则,返回 false。

2023-07-18 21:43:36 543

原创 LeetCode 1493. 删掉一个元素以后全为 1 的最长子数组 - 二分 + 滑动窗口

请你在删掉元素的结果数组中,返回最长的且只包含 1 的非空子数组的长度。如果不存在这样的子数组,请返回 0。提示 1:输入:nums = [1,1,0,1]输出:3解释:删掉位置 2 的数后,[1,1,1] 包含 3 个 1。示例 2:输入:nums = [0,1,1,1,0,1,1,0,1]输出:5解释:删掉位置 4 的数字后,[0,1,1,1,1,1,0,1] 的最长全 1 子数组为 [1,1,1,1,1]。示例 3:输入:nums = [1,1,1]输出:2。

2023-07-18 21:23:57 1089 1

原创 LeetCode 790. 多米诺和托米诺平铺 - 二维空间的动态规划

给定整数 n ,返回可以平铺 2 x n 的面板的方法的数量。返回对 109 + 7 取模 的值。平铺指的是每个正方形都必须有瓷砖覆盖。两个平铺不同,当且仅当面板上有四个方向上的相邻单元中的两个,使得恰好有一个平铺有一个瓷砖占据两个正方形。示例 1:输入: n = 3输出: 5解释: 五种不同的方法如上所示。

2023-07-17 22:04:31 456

原创 【论文解读】InstructGPT : Training language models to follow instructions with human feedback

InstructGPT做了什么,从论文的摘要来描述是:使语言模型变得更大并不意味着它们本身就能更好地遵循用户的意图。例如,大型语言模型可能会生成不真实、有毒或对用户毫无帮助的输出。换句话说,这些模型与其用户不一致。在本文中,我们展示了一种通过根据人类反馈进行微调,使语言模型与用户在各种任务上的意图保持一致的途径。从一组标记器编写的提示和通过 OpenAI API 提交的提示开始,我们收集了所需模型行为的标记器演示数据集,我们使用该数据集通过监督学习来微调 GPT-3。

2023-07-16 17:13:58 944

原创 什么是元学习?外循环和内循环?支持集和查询集?

元学习近几年也算是一个比较热门的研究方向,大部分被用来解决低资源少样本零样本学习的任务场景中。那么为什么元学习可以提升低资源少样本的学习效果呢?活着说元学习到底是一个什么阳的算法呢?这里做一个简单的概念阐述。元学习的目标是让模型学会学习,一般传统的训练方法都是让模型直接对所有数据集进行统一的训练,得到了一套对所有数据集泛化能力都不错的模型参数,但这样有个问题,在具体的某种类型的数据集上,可能效果就会比较一般。

2023-07-15 19:45:55 1195

原创 DGL大图采样报错记录:Expect argument “nodes[“_N“]“ to have data type torch.int32. But got torch.int64.

也就是dgl需要torch.int32,但是我不小心把输入的数据类型弄成了torch.int64,我一直以为是不是我数据类似问题,结果就一直从头到尾把所有数据类型都强制转换成torch.int32,结果还是报错如上,折腾了真的好几天,一直不明白为啥!我被这个问题折腾了好几天,因为在处理一个很庞大的图数据,需要采样训练,然后数据从原始数据处理成图数据,导入DGL采样模块中,结果就一直报错如下。结果就在刚刚,我不小心把数据类型强制转换成torch.int64,结果结果,居然跑通了!我吐了,不带这么坑人的。

2023-05-30 23:53:46 625

原创 什么是精确率Precision和召回率Recall?

二分类任务中只有正样本和负样本,即标签为1或0。而我们模型的目标就是尽可能去把所有的正样本的都准确的找出来,于是涉及到精确率Precision和召回率Recall。计算召回率:真实的正样本数目为3,而模型预测为准确的正样本数目为2,也就是3条有2条被找出来了,召回率=2/3。计算精确率:预测为正样本的数目为5,但其中只有2条是真的正样本,也就是只有2条被成功预测正确了,精确率=2/5。精确率Precision:指模型预测为正样本的数据中有多少是真的正样本。有10条数据,3条正样本,7条负样本。

2023-05-27 23:17:12 1682

原创 安排超市 -- BFS分割搜索

4.安排超市给定一个n*n的地图。地图是上下左右四联通的,不能斜向行走:*代表障碍,不可通行。.代表路,可以通行。#代表房子。房子也是可以通行的。小红现在需要在一些地方安排一些超市(不能安排在障碍物上,可以安排在路上或者房子上。超市也是可以通行的)。小红希望每个房子至少可以到达一个超市。同时由于成本原因,小红希望超市的数量尽可能少。在超市数量最少的情况下,小红希望每个房子到达最近的超市的距离之和尽可能小。她想知道超市最少的数量,以及最小的距离之和。你能帮帮她吗?

2023-04-30 20:09:50 749 1

原创 DGL获取节点邻居代码

简单记录一下DGL根据节点采样子图的代码。然后采样得到节点3的所有一阶邻居。先创建一个简单的同构图。

2023-04-28 16:35:04 685 1

原创 LeetCode 137. 只出现一次的数字 II -- 位运算 is all you need

你必须设计并实现线性时间复杂度的算法且不使用额外空间来解决此问题。示例 1:输入:nums = [2,2,3,2]输出:3示例 2:输入:nums = [0,1,0,1,0,1,99]输出:99提示:1

2023-03-16 12:52:30 161

原创 2. 小红的排列构造

小红的排列构造小红希望你构造一个排列,满足对于排列中的每一项��ai​都满足:���ai​+i均不是质数(下标�i从1开始)。你能帮帮她吗?长度为�n的排列是指:一个长度为�n的数组,其中1到�n每个正整数恰好出现1次。例如[2,1,3]是排列,而[1,3,4,3]不是排列。

2023-03-14 11:22:59 1817

原创 4. 对称飞行器 -- BFS搜索

一种可行的路径是用对称飞行器到达 \text (4,3) 再向上走一步,再向右走一步,然后使用一次对称飞行器到达终点。再开一维,表示风行器使用的次数,就可以了,剩下的就是简单的BFS搜索。第一行两个空格分隔的正整数 ,分别代表迷宫的行数和列数。接下来 行 每行一个长度为 的字符串来描述这个迷宫。仅一行一个整数表示从起点最小花费多少时间单位到达终点。空间限制:C/C++ 256M,其他语言512M。时间限制:C/C++ 2秒,其他语言4秒。保证只有一个 和 一个。如果无法到达终点,输出。

2023-03-13 18:04:56 625

原创 2. 小强爱数学

感觉蛮有趣的一个题目,需要推导下通项式。有了这个推导关系,就很好处理了。

2023-03-13 13:11:54 180

原创 拼多多2021笔试真题集 -- 4. 多多的骰子组合

多多的骰子组合多多君拼团购买了N个骰子,为了方便后面进行活动,多多君需要将这些骰子进行分类。两个骰子为同类的定义是:1将其中一个骰子通过若干次上下、左右或前后翻转后,其与另一个骰子对应的6面数字均相等。现在多多君想知道不同种类的骰子的数量分别有多少。时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 256M,其他语言512M输入描述:第一行1个整数N,表示骰子的数量。接下来N行,每行6个数字(1~6,且各不相同)

2023-03-10 14:42:45 487

原创 拼多多2021笔试真题集 -- 3. 多多的求和计算

多多的求和计算多多路上从左到右有N棵树(编号1~N),其中第i个颗树有和谐值Ai。多多鸡认为,如果一段连续的树,它们的和谐值之和可以被M整除,那么这个区间整体看起来就是和谐的。现在多多鸡想请你帮忙计算一下,满足和谐条件的区间的数量。时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 256M,其他语言512M输入描述:第一行,有2个整数N和M,表示树的数量以及计算和谐值的参数。第二行,有N个整数Ai, 分别表示第i个颗树的和谐值。

2023-03-10 14:39:36 891 2

原创 拼多多2021笔试真题集 -- 2. 多多的字符变换

多多的字符变换多多君最近在研究字符串之间的变换,可以对字符串进行若干次变换操作:交换任意两个相邻的字符,代价为0。将任意一个字符a修改成字符b,代价为 |a - b|(绝对值)。现在有两个长度相同的字符串X和Y,多多君想知道,如果要将X和Y变成两个一样的字符串,需要的最少的代价之和是多少。时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 256M,其他语言512M输入描述:共三行,第一行,一个整数N,表示字符串的长度。

2023-03-10 14:38:09 656

原创 拼多多2021笔试真题集 -- 1. 多多的数字组合

多多的数字组合多多君最近在研究某种数字组合:定义为:每个数字的十进制表示中(0~9),每个数位各不相同且各个数位之和等于N。满足条件的数字可能很多,找到其中的最小值即可。多多君还有很多研究课题,于是多多君找到了你–未来的计算机科学家寻求帮助。数据范围:1≤�≤10001≤n≤1000进阶:空间复杂度�1O(1) ,时间复杂度��O(n)时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 256M,其他语言512M。

2023-03-10 14:03:41 491

原创 LeetCode 460. LFU 缓存 -- 哈希查询+双向链表

实现 LFUCache 类:LFUCache(int capacity) - 用数据结构的容量 capacity 初始化对象int get(int key) - 如果键 key 存在于缓存中,则获取键的值,否则返回 -1。void put(int key, int value) - 如果键 key 已存在,则变更其值;如果键不存在,请插入键值对。当缓存达到其容量 capacity 时,则应该在插入新项之前,移除最不经常使用的项。

2023-03-04 20:12:40 606

原创 LeetCode 982. 按位与为零的三元组 -- 哈希统计

按位与三元组 是由下标 (i, j, k) 组成的三元组,并满足下述全部条件:nums[i] & nums[j] & nums[k] == 0 ,其中 & 表示按位与运算符。

2023-03-04 14:19:08 549

原创 LeetCode 146. LRU 缓存 -- 哈希map+双向链表

示例:输入输出解释// 缓存是 {1=1}// 缓存是 {1=1, 2=2}// 返回 1// 该操作会使得关键字 2 作废,缓存是 {1=1, 3=3}// 返回 -1 (未找到)// 该操作会使得关键字 1 作废,缓存是 {4=4, 3=3}// 返回 -1 (未找到)// 返回 3// 返回 4提示:最多调用 2 * 105 次 get 和 put。

2023-03-03 13:40:04 230

原创 LeetCode 面试题 05.02. 二进制数转字符串

面试题 05.02. 二进制数转字符串提示中等90相关企业二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示,则打印“ERROR”。示例1:输入:0.625输出:“0.101”示例2:输入:0.1输出:“ERROR”提示:0.1无法被二进制准确表示提示:32位包括输出中的 “0.” 这两位。题目保证输入用例的小数位数最多只有 6 位。

2023-03-02 13:08:43 145 1

原创 LeetCode 1145. 二叉树着色游戏 -- 简单搜索

最开始时:「一号」玩家从 [1, n] 中取一个值 x(1

2023-02-28 17:42:53 475

原创 LeetCode 1144. 递减元素使数组呈锯齿状

如果符合下列情况之一,则数组 A 就是 锯齿数组:每个偶数索引对应的元素都大于相邻的元素,即 A[0] > A[1] < A[2] > A[3] < A[4] > …或者,每个奇数索引对应的元素都大于相邻的元素,即 A[0] < A[1] > A[2] < A[3] > A[4] < …返回将数组 nums 转换为锯齿数组所需的最小操作次数。示例 1:输入:nums = [1,2,3]输出:2解释:我们可以把 2 递减到 0,或把 3 递减到 1。

2023-02-28 15:35:53 313

原创 LeetCode 92. 反转链表 II

示例 1:输入:head = [1,2,3,4,5], left = 2, right = 4输出:[1,4,3,2,5]示例 2:输入:head = [5], left = 1, right = 1输出:[5]提示:链表中节点数目为 n进阶: 你可以使用一趟扫描完成反转吗?

2023-02-24 20:46:52 103

原创 LeetCode 160. 相交链表 -- 消除长度差

图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构。自定义评测:评测系统 的输入如下(你设计的程序 不适用 此输入):intersectVal - 相交的起始节点的值。如果不存在相交节点,这一值为 0listA - 第一个链表listB - 第二个链表skipA - 在 listA 中(从头节点开始)跳到交叉节点的节点数skipB - 在 listB 中(从头节点开始)跳到交叉节点的节点数。

2023-02-22 18:51:54 350

原创 LeetCode 105. 从前序与中序遍历序列构造二叉树 -- 数据结构基础

示例 1:输入: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]输出: [3,9,20,null,null,15,7]示例 2:输入: preorder = [-1], inorder = [-1]输出: [-1]提示:preorder 和 inorder 均 无重复 元素inorder 均出现在 preorderpreorder 保证 为二叉树的前序遍历序列inorder 保证 为二叉树的中序遍历序列。

2023-02-14 15:17:08 273

原创 LeetCode 2315. 统计星号

请你返回 不在 竖线对之间,s 中 ‘*’ 的数目。注意,每个竖线 ‘|’ 都会 恰好 属于一个对。示例 1:输入:s = “l|eet|ceo|*de|”。第一和第二条竖线 ‘|’ 之间的字符不计入答案。同时,第三条和第四条竖线 ‘|’ 之间的字符也不计入答案。不在竖线对之间总共有 2 个星号,所以我们返回 2。示例 2:输入:s = “iamprogrammer”输出:0解释:在这个例子中,s 中没有星号。所以返回 0。

2023-01-29 23:25:39 330

原创 DGL图神经网络计算框架常用操作记录

DGL默认出现的边中节点ID最大的为这个图网络的节点数目,因此可以提前声明节点的数目。这里仅用于记录一些DGL的常用基本操作,以便后续使用查阅。DGL创建一个简单同构图。DGL计算节点的入度。

2023-01-12 11:21:39 461

原创 LeetCode 2086. 从房屋收集雨水需要的最少水桶数 -- 动态规划

你可以在 空位 放置水桶,从相邻的房屋收集雨水。位置在 i - 1 或者 i + 1 的水桶可以收集位置为 i 处房屋的雨水。一个水桶如果相邻两个位置都有房屋,那么它可以收集 两个 房屋的雨水。在确保 每个 房屋旁边都 至少 有一个水桶的前提下,请你返回需要的 最少 水桶数。如果无解请返回 -1。示例 1:输入:street = “H…H”输出:2解释:我们可以在下标为 1 和 2 处放水桶。“H…H” -> “HBBH”(‘B’ 表示放置水桶)。

2022-12-28 18:52:01 127

原创 LeetCode 1750. 删除字符串两端相同字符后的最短长度 -- 双指针

选择字符串 s 一个 非空 的前缀,这个前缀的所有字符都相同。选择字符串 s 一个 非空 的后缀,这个后缀的所有字符都相同。前缀和后缀在字符串中任意位置都不能有交集。前缀和后缀包含的所有字符都要相同。同时删除前缀和后缀。请你返回对字符串 s 执行上面操作任意次以后(可能 0 次),能得到的 最短长度。示例 1:输入:s = “ca”输出:2解释:你没法删除任何一个字符,所以字符串长度仍然保持不变。示例 2:输入:s = “cabaabac”输出:0。

2022-12-28 18:31:20 146

原创 LeetCode 1781. 所有子字符串美丽值之和

比方说,“abaacc” 的美丽值为 3 - 1 = 2。给你一个字符串 s ,请你返回它所有子字符串的 美丽值 之和。示例 1:输入:s = “aabcb”输出:5解释:美丽值不为零的字符串包括 [“aab”,“aabc”,“aabcb”,“abcb”,“bcb”] ,每一个字符串的美丽值都为 1。示例 2:输入:s = “aabcbaa”输出:17提示:s 只包含小写英文字母。

2022-12-12 12:37:53 181

原创 LeetCode 33. 搜索旋转排序数组 -- 二分判断区间

在传递给函数之前,nums 在预先未知的某个下标 k(0

2022-12-11 17:34:33 101

原创 LeetCode 1827. 最少操作使数组递增

比方说,如果 nums = [1,2,3] ,你可以选择增加 nums[1] 得到 nums = [1,3,3]。请你返回使 nums 严格递增 的 最少 操作次数。我们称数组 nums 是 严格递增的 ,当它满足对于所有的 0

2022-12-11 17:02:26 523

原创 LeetCode 1775. 通过最少操作次数使数组的和相等 --双指针

每次操作中,你可以选择 任意 数组中的任意一个整数,将它变成 1 到 6 之间 任意 的值(包含 1 和 6)。请你返回使 nums1 中所有数的和与 nums2 中所有数的和相等的最少操作次数。如果无法使两个数组的和相等,请返回 -1。示例 1:输入:nums1 = [1,2,3,4,5,6], nums2 = [1,1,2,2,2,2]输出:3解释:你可以通过 3 次操作使 nums1 中所有数的和与 nums2 中所有数的和相等。以下数组下标都从 0 开始。

2022-12-11 16:54:03 305

原创 LeetCode 1884. 鸡蛋掉落-两枚鸡蛋 -- 动态规划

已知存在楼层 f ,满足 0

2022-12-11 13:57:01 457

原创 LeetCode 1780. 判断一个数字是否可以表示成三的幂的和

对于一个整数 y ,如果存在整数 x 满足 y == 3x ,我们称这个整数 y 是三的幂。

2022-12-09 20:35:23 226

Detection and Characterization of Anomalies in Multivariate Time Series.pdf

利用图遍历知识和马尔科夫链进行相似矩阵转换去查找多元时间序列中的数据异常论文

2021-03-23

空空如也

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

TA关注的人

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