摘要: 题目:移除元素: 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给定 num 阅读全文
posted @ 2024-10-14 09:42 continu~ 阅读(19) 评论(0) 推荐(0)
摘要: 一个简单的二分查找题。CPP代码。二分查找需要注意的地方就是区间的问题。如果是while(left<right)。就代表着区间定义是[left,right),即右边界取不到。因此当right缩小至middle时候只需要: while(left<right){ ... if(nums[middle]< 阅读全文
posted @ 2024-10-13 20:25 continu~ 阅读(13) 评论(0) 推荐(0)
摘要: 概念:三种不同的排序模型学习(Learning to Rank)设计思路。主要体现在损失函数不同 用户 的查询query为 Q,候选文档集docs为 c1~CN,正确的结果排序假设为C1-CK 。候选文档集要一般大于最终返回的集合,因此N>K .例如,给出一个提问句子从候选句子(有10个)中选出最佳 阅读全文
posted @ 2024-10-12 14:25 continu~ 阅读(216) 评论(0) 推荐(0)
摘要: 暴力检索痛点: 1.需要遍历向量 2.占用存储空间大 解决: 对高维embedding进行划分。例如128维度的embedding划分为4个32维的区域。 对每个区域向量进行聚类,假设256类。那么一个128维度的向量就可以量化为一个4维向量,每一维度取值为0-255 检索:对新输入的向量,计算其量 阅读全文
posted @ 2024-10-10 14:14 continu~ 阅读(113) 评论(0) 推荐(0)
摘要: 线程:是任务的执行者。 进程:是一个动态的概念。 适用情况: IO密集用多线程。 CPU密集用多进程。 原因:Cpython解释器中使用了GIL全局解释锁,一个进程只有一个锁。只有拿到这个锁的线程才能获取解释器,取解释执行代码。这就导致了即使开了多线程,实际上只有一个线程在执行。 因此当进行CPU计 阅读全文
posted @ 2024-09-28 22:32 continu~ 阅读(52) 评论(0) 推荐(0)
摘要: 构建一个项目的步骤 1.执行编写cmakelists.txt文件 2.执行cmake命令 3.cd到makefile文件下,执行make命令。 demo: #include<iostream> #include"head.h" int add(int a,int b){ return a+b; } 阅读全文
posted @ 2024-09-23 21:06 continu~ 阅读(24) 评论(0) 推荐(0)
摘要: audio = AudioSegment.from_mp3(input_path) winError2 找不到系统文件 解决方法,下载ffmpeg,解压后,添加代码: ffmpeg_path = r"D:\ffmpeg\ffmpeg-2024-09-19-git-0d5b68c27c-full_bu 阅读全文
posted @ 2024-09-21 21:49 continu~ 阅读(283) 评论(0) 推荐(0)