- 博客(114)
- 收藏
- 关注
原创 【chap9-回溯算法】用Python3刷《代码随想录》
1、组合问题:77、216、17、39、40;2、切割问题:131、93;3、子集问题:78、90、491;4、排列问题:46、47;5、棋盘问题(二维递归):51、37
2026-02-23 01:28:24
730
原创 【chap8-二叉树(下 - 修改与构造&二叉搜索树&公共祖先问题)】用Python3刷《代码随想录》
3、二叉树的修改与构造。4、二叉搜索树:(1)求二叉搜索树的属性;(2)二叉搜索树的修改与构造。5、二叉树公共祖先问题。
2026-02-03 12:15:39
805
原创 【chap8-二叉树(上 - 遍历方式&属性)】用Python3刷《代码随想录》
1、二叉树的遍历方式:(1)深度优先/前中后序遍历:递归法、迭代法 (借助栈实现递归);(2)广度优先/层序遍历:迭代法 (借助队列,先进先出)。2、二叉树的属性:对称二叉树;二叉树的最大/最小深度;完全二叉树的节点个数;平衡二叉树。3、涉及回溯(递归+回溯):二叉树的所有路径;左叶子之和;找树左下角的值;路径总和。。
2026-01-26 00:53:00
667
原创 【力扣-Python-滑动窗口经典题】567.字符串的排列 | 424.替换后的最长重复字符 | 76.最小覆盖子串
滑动窗口经典题汇总567.字符串的排列424.替换后的最长重复字符76.最小覆盖子串
2026-01-16 14:45:51
440
原创 【chap7-栈与队列 (含单调栈)】用Python3刷《代码随想录》
232、225:栈与队列的基本操作;20、1047、150:栈在匹配问题中的应用;239:获取滑动窗口的最大值,主要思想是队列没有必要维护窗口中的所有元素,只需要维护有可能成为窗口中最大值的元素即可,同时保证队列中的元素数值是由大到小排序的(双端队列 from collections import deque);347:求前k个高频元素,优先级队列(小顶堆 import heapq)单调栈:739、496、503、42、84
2025-12-29 01:53:38
593
原创 【力扣-Python-75】颜色分类(middle)
给定只包含 0、1、2 的数组(红、白、蓝),要求原地排序,使0在前、1在中、2在后。要求不能使用库排序,最好只遍历一次。又称为荷兰国旗问题
2025-12-21 17:04:13
236
原创 【阶段1:C++基础语法入门】黑马匠心C++教程(P1~P83)
C++基础语法入门:C++初识;数据类型;运算符;程序流程结构;数组;函数;指针;结构体。案例:通讯录管理系统
2025-04-13 15:45:08
1257
原创 cuda与pytorch版本兼容问题
查看CUDA版本的几个命令及区别:nvidia-smi、nvcc -V、print(torch.version.cuda)、print(torch.utils.cpp_extension.CUDA_HOME)。如何配置版本兼容的cuda和pytorch
2025-03-09 21:03:51
5383
原创 Visual Studio下载及安装教程(for C++)
Visual Studio下载及安装 -> 创建新项目 -> 创建文件 -> 编写代码并运行
2025-03-04 02:17:28
862
原创 df.explode() 及等价写法
df.explode() 可以按某列的值将一行拆分为多行,需要pandas版本 ≥ 0.25.0。可以使用 print(pd.__version__) 查看pandas版本。
2025-02-15 15:46:58
585
原创 对比category_encoders库和sklearn库中的OrdinalEncoder
OrdinalEncoder 是用来对数据中的分类特征进行编码、转换为整数标签的函数。本文旨在对比 from category_encoders import OrdinalEncoder 和 from sklearn.preprocessing import OrdinalEncoder 的用法。
2025-01-31 17:36:09
527
原创 pd.read_csv() 遇到的3个报错及解决方法
三个报错的解决方法:(1)ParserError: Error tokenizing data. C error: Buffer overflow caught - possible malformed input file.(2)ParserError: field larger than field limit (131072)(3)ParserError: ' ' expected after '"'
2025-01-22 12:41:43
862
原创 【下】王树森《小红书推荐系统公开课》- 课程笔记(特征交叉、行为序列、重排/推荐系统多样性、物品冷启动、涨指标的方法)
特征交叉(因子分解机FM、深度交叉网络DCN、LHUC/PPNet、SENet&Bilinear Cross&FiBiNet);行为序列(用户lastN序列特征、DIN&注意力机制、长序列建模SIM);重排(多样性、物品相似性的度量、MMR多样性算法、滑动窗口&业务规则约束、DPP多样性算法&Hulu的快速求解算法);物品冷启动(优化目标&评价指标、简单的召回通道、聚类召回、Look-Alike人群扩散召回、流量调控、冷启AB测试);涨指标的方法(评价指标、召回、粗精排、多样性、特殊人群、交互行为)
2024-12-15 22:00:17
3395
1
原创 dict.setdefault() 用法
setdefault 是Python中字典的一个方法,用于在字典中查找指定键,如果键存在,则返回对应值(而不是指定的默认值);如果键不存在,则在字典中添加该键,并将其值设置为指定的默认值
2024-09-22 23:46:11
2607
原创 【上】王树森《搜索引擎技术》- 课程笔记(概要、相关性)
1、概要:搜索引擎的基本概念、决定搜索满意度的因素(相关性、内容质量、时效性、个性化)、搜索引擎的评价指标、搜索引擎的链路(查询词处理、召回、排序);2、相关性:定义与分档(4档)、评价指标(离线为AUC和PNR,线上为DCG,它们分别属于pointwise、pairwise、listwise)、文本匹配(词匹配分数包括TF-IDF、BM25,都属于词袋模型;词距分数如OkaTP)、BERT模型结构及线上推理(交叉BERT、双塔BERT)、BERT模型的离线训练(预训练->后预训练->微调->蒸馏)
2024-08-25 13:48:21
3070
原创 训练五步走:前向传播、计算损失、清零梯度optimizer.zero_grad()、反向传播loss.backward()、更新参数optimizer.step()
outputs = model(inputs)前向传播,model为实例化后的模型;loss = criterion(outputs, targets)计算损失,criterion为定义的损失函数;Pytorch自动求导机制会将梯度值累加,故要optimizer.zero_grad()清零,去掉以前的梯度值;loss.backward()反向传播,通过自动微分计算损失函数相对于模型参数的梯度;optimizer.step()根据计算出的梯度更新模型的参数。
2024-06-29 23:08:01
2435
原创 Pytorch中的 .detach().cpu().numpy()
detach() 用于从计算图中分离出一个张量,即返回一个新的张量,与原张量共享相同的数据,但不会再计算梯度;cpu() 将张量移动到CPU内存中,因为numpy仅能处理CPU内存中的数据,不能直接处理GPU上的数据;numpy() 将Pytorch张量转换为numpy数组,共享内存,不会复制数据;总结:.detach().cpu().numpy() 是一个常见的链式方法调用,用于将一个在计算图中(即由autograd跟踪的)张量转换为numpy数组
2024-06-24 23:28:57
1942
原创 Pytorch中的数据与优化器:Dataset、TensorDataset、DataLoader、optimizer.param_groups
torch.utils.data.Dataset、torch.utils.data.TensorDataset、torch.utils.data.DataLoader、optimizer.param_groups
2024-06-22 17:19:56
2128
原创 【上】王树森《小红书推荐系统公开课》- 课程笔记(推荐系统基础、召回、排序)
推荐系统基础(基本概念、链路、AB测试);召回(ItemCF、Swing、UserCF、离散特征处理、矩阵补充、双塔模型、双塔模型+自监督学习、Deep Retrieval召回、其他召回通道、曝光过滤+Bloom Filter);排序(多目标排序模型、MMoE、预估分数融合公式、视频播放时长和完播率建模、特征及处理、粗排三塔模型)
2024-05-22 23:15:44
11130
15
原创 TensorFlow常用乘法函数总结:tf.multiply()、*、tf.matmul()、@、tf.scalar_mul()、tf.tensordot()、tf.einsum()
tf.multiply() 或 * 为元素对位相乘,即哈达玛积,要求两个矩阵shape一致,或其中一个维度为1。tf.matmul() 或 @ 为矩阵乘法,参与运算的是最后两维形成的矩阵,不支持矩阵-向量乘法或两个向量的点积。tf.scalar_mul() 为标量和张量相乘,即参数之一为标量。外积 tf.tensordot(a, b, axes=0),点积 tf.tensordot(a, b, axes=1),a和b都是一维向量。tf.einsum() 是通用函数模板,numpy和Pytorch有类似的用法
2024-04-28 18:05:44
3838
原创 Pytorch常用乘法函数总结:torch.mul()、*、torch.mm()、torch.bmm()、torch.mv()、torch.dot()、@、torch.matmul()
torch.mul() 和 * 等价,为element-wise乘,可广播;torch.mm() 二维矩阵乘法,torch.bmm() 三维批量矩阵乘法,均不可广播;torch.mv(mat, vec) 为矩阵向量乘法,不可广播;torch.dot() 仅支持两个一维向量点积,返回一个标量数字;@ 矩阵乘法,等价于 torch.dot() + torch.mv() + torch.mm();torch.matmul() 矩阵乘法,与 @ 类似,但它不止一维二维,可扩高维,可广播
2024-04-26 16:19:48
2914
1
原创 numpy常用乘法函数总结:np.dot()、np.multiply()、*、np.matmul()、@、np.prod()、np.outer()
np.dot() 向量点积+矩阵乘法;np.multiply() 或者 * 在array下均为元素对位乘,但在mat/matrix下后者变为矩阵乘法;np.matmul() 或者 @ 完全等价,为矩阵乘法;np.prod() 返回数组中元素的乘积,可指定axis;np.outer() 外积,拿第一个向量的元素分别与第二个向量所有元素相乘得到的结果的一行,以此类推
2024-04-25 03:03:49
15898
2
原创 numpy里的随机数、axis、广播机制
感觉【随机数】、【axis】、【广播机制】这三种操作在numpy里比较常用,且容易导致shape报错,故本文放在一起总结下
2024-04-20 00:06:37
847
原创 【8章】Spark编程基础(Python版)
Spark MLlib(机器学习流水线、转换器、评估器)、逻辑斯蒂回归、特征抽取(TF-IDF)、特征转换(标签和索引的转换)、iris案例(逻辑斯蒂回归分类器、决策树分类器)
2023-09-03 23:21:41
1220
原创 【chap6-字符串】用Python3刷《代码随想录》
双指针法(反转字符串);使用整体反转+局部反转就可以实现反转单词顺序的目的;KMP算法(解决两类问题:匹配问题&重复子串问题)
2023-07-31 14:15:57
281
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅