![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
coding
weixin_40248634
清华大学计算机硕士
展开
-
利用python自带的小根堆 LeetCode
python 的 heapq 是小根堆,所以需要转化为大根堆会方便处理,即将数组取为负数。原创 2022-11-26 01:11:23 · 765 阅读 · 0 评论 -
Pytorch 中的torch.einsum 求cos 相似度矩阵
einsum 计算consine similarity for contrastive learningconsine similarity 定义Sij=XiTYj/∥Xi∥2∥Yj∥2S_{ij}=X_i^TY_j/\|X_i\|_2\|Y_j\|_2Sij=XiTYj/∥Xi∥2∥Yj∥2X 和Y为embedding 矩阵:bz×hiden_dimbz\times hiden\_dimbz×hiden_dimXiTYj=∑kXikYjkX_i^TY_j= \sum_k X原创 2022-04-28 16:13:43 · 836 阅读 · 0 评论 -
二分查找模板
def two_part(nums,i,n,target): l=i h=n while l<=h:# 判断条件最好不要用相加后的结果,应该用target - nums[i] 跟 nums[j]比较,这样保证不会溢出。二分查找,(left + right) / 2 可以用left + ((rigth - left) >> 1))代替 mid = (l+h)//2 if nums[mid] == target:原创 2022-04-13 11:24:47 · 59 阅读 · 0 评论 -
python栈,队列, deque,dict等数据结构
python 数据结构list 实现队列栈collections模块实现栈和队列队列,栈 都可以直接使用deque 来实现。dequelist 实现使用 list 列表模拟队列功能的实现方法是,定义一个 list 变量,存入数据时使用 insert() 方法,设置其第一个参数为 0,即表示每次都从最前面插入数据;读取数据时,使用 pop() 方法,即将队列的最后一个元素弹出。如此 list 列表中数据的存取顺序就符合“先进先出”的特点。实现代码如下:队列通过 insert() 方法实现,这种方法效原创 2022-04-06 21:02:31 · 1327 阅读 · 0 评论 -
动态规划题
讲解:https://zhuanlan.zhihu.com/p/91582909原创 2022-02-09 21:53:10 · 140 阅读 · 0 评论