- 博客(96)
- 收藏
- 关注
原创 《Leetcode》-面试题-hot100-二分查找
本文总结了LeetCode中6道二分查找相关的算法题,包括搜索插入位置、搜索二维矩阵、查找元素区间、旋转数组搜索、寻找最小值和两数组中位数。每道题目都给出了详细的问题描述、示例和解决方案,重点讲解了二分查找的应用技巧和不同区间写法的实现。对于两数组中位数等难题,还提供了优化思路和复杂度分析。这些题目涵盖了二分查找的典型应用场景,包括有序数组处理、旋转数组处理以及双数组处理等,适合算法学习者系统掌握二分查找的核心思想与实现技巧。
2025-08-11 00:53:43
415
原创 《Leetcode》-面试题-hot100-回溯
本文整理了8道回溯算法相关的中等难度LeetCode题目,包括全排列、子集、电话号码字母组合、组合总和、括号生成、单词搜索、分割回文串和N皇后问题。每道题目都提供了示例、解题思路和Python代码实现,其中全排列使用回溯法标记已用元素,子集问题通过控制起始索引避免重复,组合总和允许元素重复使用,N皇后采用集合记录攻击范围。这些题目展示了回溯算法在组合、排列、搜索等场景的典型应用模式:递归探索所有可能解,通过剪枝优化效率。
2025-08-11 00:49:14
621
原创 《Leetcode》-面试题-hot100-图论
本文摘要:文章解析了4道经典算法题目:1) 岛屿数量(DFS/BFS遍历),计算二维网格中相邻陆地组成的岛屿数;2) 腐烂的橘子(BFS模拟腐烂过程),计算所有橘子腐烂所需时间;3) 课程表(拓扑排序),判断课程先修关系是否存在环;4) Trie树实现,支持字符串插入、搜索和前缀匹配。每个问题均提供Python实现代码,包含时间/空间复杂度分析。
2025-08-10 01:20:23
475
原创 《Leetcode》-面试题-hot100-二叉树
本文汇总了15道二叉树相关的LeetCode题目及其解法,涵盖基础遍历、深度计算、翻转对称、路径总和、公共祖先等常见问题。每道题目均包含问题描述、示例、实现思路和Python代码,重点使用了递归和迭代两种解法。涉及的关键算法包括:中序遍历(递归/迭代)、最大深度(层序遍历)、翻转二叉树(队列)、对称判断(递归比较)、直径计算(深度优先)、层序遍历(队列)、BST构建(递归)、验证BST(中序遍历)、第K小元素(中序)、右视图(深度优先)、链表展开(前序)、前中序构建(递归分割)、路径总和(双重递归)、最近公
2025-08-09 03:30:00
1208
原创 《Leetcode》-面试题-hot100-链表
本文摘要:本文系统总结了14道经典链表算法题及其解法,涵盖简单到困难难度。主要内容包括:1. 链表基础操作(相交链表、反转链表、回文链表);2. 环形链表检测与处理;3. 链表合并与运算(合并有序链表、两数相加);4. 链表修改操作(删除倒数第N个节点、节点交换、K组翻转);5. 特殊链表处理(随机指针复制、排序链表);6. LRU缓存实现。每道题目均提供问题描述、示例、解题思路和Python实现代码,重点介绍了双指针、递归、迭代等核心算法思想,并分析了时间/空间复杂度。这些题目来自LeetCode高频面试
2025-08-08 23:00:57
1549
原创 《Leetcode》-面试题-hot100-矩阵
本文总结了4道LeetCode中等难度矩阵题目及解法:1)矩阵置零:通过标记数组或常量空间法,将0元素所在行列置零;2)螺旋矩阵:按顺时针方向遍历矩阵元素;3)旋转图像:通过水平翻转+对角线翻转实现原地90度旋转;4)搜索二维矩阵II:利用行列有序特性,从右上角开始搜索。所有解法均给出详细思路和Python实现,时间复杂度多为O(mn)或O(n^2),空间复杂度优化至O(1)或O(m+n)。
2025-08-08 00:09:44
869
原创 《Leetcode》-面试题-hot100-数组
本文总结了5个中等难度的LeetCode数组算法题解:1. 最大子数组和(动态规划O(n)解法);2. 合并区间(排序后遍历O(nlogn));3. 轮转数组(三次反转O(n));4. 除自身外数组乘积(左右累乘O(n));5. 缺失的第一个正数(原地哈希O(n))。每个问题都提供了示例、解题思路和时间复杂度分析,采用Python实现,涵盖了动态规划、双指针、原地修改等经典算法技巧。这些题目考察了数组操作的核心算法思想,适合准备技术面试的开发者练习。
2025-08-04 22:37:56
1121
原创 《Leetcode》-面试题-hot100-子串
本文介绍了3个经典的滑动窗口算法题目:1. 和为K的子数组:通过前缀和与哈希表统计子数组和为k的个数,时间复杂度O(n);2. 滑动窗口最大值:使用单调队列维护窗口最大值,时间复杂度O(n);3. 最小覆盖子串:利用双指针和哈希表寻找包含目标字符串所有字符的最短子串,时间复杂度O(m+n)。三个问题都采用了滑动窗口思想,通过优化避免了暴力解法的高时间复杂度。
2025-08-04 22:03:57
379
原创 《Leetcode》-面试题-hot100-双指针
摘要:本文整理了LeetCode 4道经典算法题解。1.移动零(283题):双指针法,时间复杂度O(n),保持非零元素顺序;2.盛水容器(11题):双指针求最大面积,时间复杂度O(n);3.三数之和(15题):排序+双指针,注意去重,时间复杂度O(n²);4.接雨水(42题):提供三种解法,最优解使用双指针或单调栈,时间复杂度O(n)。每道题均附Python实现代码和详细思路分析,适合算法学习者参考。
2025-08-02 02:45:00
1218
原创 《Leetcode》-面试题-hot100-滑动窗口
本文介绍了两个字符串处理算法题解:1) 无重复字符的最长子串问题,通过滑动窗口和哈希表实现O(n)时间复杂度的解法;2) 查找字符串中所有字母异位词问题,使用滑动窗口和字符计数数组实现高效匹配。两题均给出Python实现代码,分析时间/空间复杂度,并提供示例说明。
2025-08-02 02:45:00
342
原创 《Leetcode》-面试题-hot100-哈希
本文介绍了LeetCode中3个常见算法题的解法:1. 两数之和:使用哈希表记录遍历过的数字及其索引,时间复杂度O(n);2. 字母异位词分组:通过统计字符出现次数作为键进行分组,时间复杂度O(n(k+26));3. 最长连续序列:利用集合查找连续序列,时间复杂度O(n)。每个问题都给出了Python实现代码和复杂度分析,适用于算法面试准备和学习。
2025-08-01 22:17:09
1087
原创 《剑指offer》-算法篇-总结规律和扩展思维
本文分享3个算法题解:1. 约瑟夫环问题(圆圈中最后剩下的数):使用递推公式last(n,m)=(last(n-1,m)+m)%n求解,时间复杂度O(n);2. 求1+2+...+n:通过递归和异常处理实现,规避了常规运算限制;3. 不用加减乘除做加法:利用位运算(异或求无进位和,与运算求进位)实现加法。每个解法都附有Python代码实现,展示了算法设计的巧妙思路。
2025-07-31 23:39:50
446
原创 《剑指offer》-算法篇-数学
本文整理了8个算法题目的Python实现代码及解题思路,包括:数值的整数次方(快速幂算法)、整数中1出现的次数(逐位统计)、丑数生成(动态规划)、和为S的连续正数序列(滑动窗口)、和为S的两个数字(双指针)、构建乘积数组(前后缀乘积)、数据流中位数(动态排序)和扑克牌顺子判断(排序+补位)。每个问题都提供了详细的代码实现和解题思路分析,重点讲解了如何运用特定算法技巧(如双指针、滑动窗口等)高效解决问题。
2025-07-30 00:15:02
1112
原创 《剑指offer》-算法篇-全排列
本文介绍了1道题目(字符串全排列)的代码实现。题目要求输入一个字符串,输出其所有字符的字典序排列。算法采用递归思路:将字符串分解为单个字符与其他字符的组合,逐步构建所有可能的排列,最后使用集合去重并排序。代码包含helper函数处理递归逻辑,Solution类提供调用接口。该实现适用于任意长度字符串,能正确处理重复字符情况。
2025-07-30 00:07:42
216
原创 《剑指offer》-算法篇-位运算
本文介绍了1道计算整数二进制表示中'1'的个数的算法实现。核心思路是通过n-1与n的按位与运算来消除最低位的1,通过循环次数统计1的个数。针对负数补码问题,使用n&0xffffffff进行32位处理。文中给出了Python实现代码,并对比了LeetCode 191题(无符号整数情况)的区别。
2025-07-29 23:58:00
512
原创 《剑指offer》-算法篇-查找
本文介绍了3个算法题目及其实现方法:1. 二维数组查找:通过从右上角开始,利用行列递增特性进行目标值搜索;2. 旋转数组最小数字:采用二分查找法定位旋转点;3. 排序数组中数字出现次数:提供二分查找和遍历两种解法。代码均采用Python实现,包含详细注释和测试示例。
2025-07-29 23:53:35
1035
原创 《剑指offer》-算法篇-动态规划
本文介绍了4种基于斐波那契数列的算法问题及其Python实现:1)斐波那契数列求第n项;2)青蛙跳台阶问题;3)变态跳台阶问题;4)矩阵覆盖问题。每个问题都给出了题目描述、解题思路和具体代码实现,主要运用了动态规划和数学归纳的思想。其中跳台阶和变态跳台阶问题展示了不同约束条件下的解法变形,矩阵覆盖问题则体现了将实际问题抽象为数学模型的能力。这些案例都是经典的动态规划入门题目,适合算法学习者练习基础编程和逻辑思维能力。
2025-07-28 00:35:34
517
原创 《剑指offer》-算法篇-贪心
本文介绍了2个经典算法问题的解决方案。1) 连续子数组最大和问题:通过动态规划方法遍历数组,维护当前和(curSum)与最大和(maxSum),时间复杂度O(n)。2) 剪绳子最大乘积问题:采用动态规划思想,将问题分解为子问题,存储各长度下的最大乘积,逐步求解到目标长度。两个问题都给出了完整的Python代码实现,并包含详细思路说明。
2025-07-28 00:31:42
268
原创 《剑指offer》-算法篇-回溯
本文介绍了2个基于矩阵回溯的算法问题及其Python实现。第一个问题"矩阵中的路径"通过BFS判断矩阵中是否存在指定路径,从任意节点出发递归检查四个方向,使用visited矩阵避免重复访问。第二个问题"机器人的运动范围"使用DFS统计机器人可达格子数,通过计算坐标数位和并与阈值比较来约束移动范围。两个问题都采用了回溯法思想,通过递归探索所有可能路径,同时利用辅助矩阵记录访问状态以防止重复计算。
2025-07-28 00:27:51
369
原创 《剑指offer》-算法篇-排序
本文介绍了2个算法问题:查找数组中最小的K个数和计算数组中的逆序对数。对于最小K个数问题,给出了四种解法:直接排序、快速排序思想、大数据处理思想和堆排序。对于逆序对问题,采用归并排序思想计算交换次数。
2025-07-28 00:24:23
351
原创 《剑指offer》-数据结构篇-哈希表/数组/矩阵/字符串
本文介绍了13个字符串和数组处理相关的编程题目及其Python实现方法。主要内容包括:1. 查找第一个只出现一次的字符(使用字典统计字符频率);2. 找出数组中重复的数字(使用列表记录出现次数);3. 字符串流中第一个不重复字符(用列表实现栈结构);4. 找出数组中两个只出现一次的数字(字典统计频率);5. 调整数组顺序使奇数位于偶数前面(双指针填充新数组);6. 查找出现次数超过一半的数字(投票算法);7. 将数组排成最小数(自定义排序);8. 顺时针打印矩阵(模拟路径)
2025-07-27 01:39:41
1010
原创 《剑指offer》-数据结构篇-栈和队列
摘要:本文介绍了5个栈相关的算法实现,包括用两个栈实现队列、包含min函数的栈、判断栈的压入弹出序列、翻转单词顺序以及滑动窗口最大值。每个算法都提供了Python代码实现和解题思路:使用辅助栈实现队列操作;维护最小栈实现O(1)时间获取最小值;通过模拟过程验证弹出序列;利用字符串分割翻转单词顺序;使用双端队列维护滑动窗口最大值。这些算法涵盖了栈在数据结构中的典型应用场景,展示了栈在处理顺序反转、最值维护等问题上的优势。
2025-07-27 01:14:57
1148
原创 《剑指offer》-数据结构篇-树
本文总结了14道二叉树相关算法题的Python实现,涵盖重建二叉树、镜像、遍历、搜索树操作等典型问题。主要内容包括:1. 通过前序和中序遍历重建二叉树;2. 判断子树结构;3. 二叉树镜像操作;4. 层序、之字形等多种遍历方式;5. 二叉搜索树的第k小节点和后序遍历验证;6. 路径求和、深度计算、平衡判断;7. 中序后继节点和对称性判断;8. 二叉树的序列化与反序列化。每个问题都给出了清晰的解题思路和Python代码实现,采用递归、迭代等方法,涉及前序、中序、后序和层序遍历技巧。适用于准备算法面试的开发者。
2025-07-26 00:32:18
1018
原创 《剑指offer》-数据结构篇-链表
本文总结了链表9道算法的典型题目及解法,包括:1. 从尾到头打印链表(利用辅助栈);2. 反转链表(改变指针指向);3. 链表中倒数第K个结点(快慢指针);4. 合并有序链表(构建新链表);5. 复杂链表复制(哈希表存储);6. 删除重复元素(指针操作);7. 寻找公共结点(双指针);8. 环的入口检测(快慢指针);9. 二叉搜索树转双向链表(中序遍历)。文中提供了Python实现代码,并强调指针操作在链表问题中的重要性。这些题目涵盖了链表操作的基本技巧,是算法学习的基础内容。
2025-07-26 00:08:38
1045
原创 合并K个升序链表
LeetCode 23题要求合并K个升序链表。提供两种解法:1.分治法-递归地将链表数组分成两部分分别合并,再用合并两个链表的方法合并结果;2.优先队列法-使用最小堆维护各链表当前元素,每次取出最小值构建新链表。两种方法的时间复杂度均为O(NlogK),其中N是总节点数,K是链表数量。文章包含样例输入输出和详细代码实现。
2025-07-24 00:33:51
761
原创 模型系列(篇一)-Bert
BERT是2018年提出的基于Transformer的双向自编码语言模型。其核心由12层Transformer组成,采用特殊输入格式([CLS]文本1[SEP]文本2[SEP]),融合词/块/位置三种嵌入表示。预训练包含两大任务:1)改进的掩码语言模型(MLM),通过15%掩码比例和动态替换策略解决预训练-微调不一致问题;2)下一句预测(NSP)任务,构建二分类任务学习文本间关系。进阶优化包括整词掩码(WWM)和N-gram掩码(NM),前者避免子词信息泄露,后者增强连续文本还原能力。
2025-07-21 23:38:46
1252
原创 Look-alike小结
Look-alike技术是一类基于种子用户进行相似人群扩展的建模方法统称,主要应用于广告定向投放和推荐系统。其核心方法可分为五类:基于规则(标签定向)、图算法(GNN链接预测)、相似度计算(LSH哈希)、回归模型(LR/GBDT)和注意力机制(RALM实时推荐)。2015-2021年间,Turn、Yahoo、腾讯等企业相继在ACM、KDD等顶会发表相关研究,典型应用包括微信看一看推荐和Pinterest广告扩展。技术演进呈现从传统模型到深度学习、从静态匹配到实时计算的趋势。
2025-07-19 00:43:43
1175
原创 网易大数据用户画像实践-笔记
本文系统介绍了用户画像构建的核心要点。架构部分包含标签分类(1000+标签)、ID-Mapping(设备/用户关系网络)和知识库建设;特别指出衍生标签生成和标签冲突校验的挑战。ID-Mapping采用工程埋点(高准确率)和算法识别(解决多设备问题)双方案,但数据覆盖率仅20%影响模型效果。质量保障通过实名数据验证、算法评估和AB测试等多维度进行。实战案例显示,在反欺诈场景可提升6%识别率,实时推荐系统通过HBase特征计算提升转化。文末解答了偏好标签评估、版本迭代等关键问题,
2025-07-18 00:45:00
1147
原创 小米用户画像实战-笔记
小米用户画像实践解析:该分享展示了小米通过九大类百万级标签构建用户画像体系的实战经验。技术层面采用Spark/Flink等大数据工具和机器学习算法,实现基础属性、业务行为等多维度标签挖掘。核心价值在于连接数据与业务,支撑用户增长(提升新增/留存)和商业变现(精准广告)。平台提供人群圈选、画像分析等功能,并通过A/B测试验证标签效果。典型应用包括兴趣垂域建设、沉默用户唤醒等场景,体现了用户画像在互联网企业运营中的关键作用。
2025-07-18 00:36:50
1118
原创 用户画像业界分享(2020~2022年)
本文汇总了2020-2022年间来自小米、网易、百度、阿里等十余家企业的用户画像实践案例,涵盖画像构建技术、标签体系、应用场景等核心内容。通过整理行业标杆企业的画像建设经验,旨在促进技术交流与专业成长。
2025-07-17 00:07:47
398
原创 《用户画像-方法论与工程化解决方案》读书笔记-第9章 实践案例详解
本文系统介绍了用户生命周期管理的理论与应用框架。首先阐述了用户生命周期的五个阶段(引入期、成长期、成熟期、衰退期、流失期)及其特征,提出了LTV(用户生命周期价值)的计算模型。接着详细解析了提升LTV的运营策略,包括提升用户质量、转化率和活跃度的具体方法,以及ROI计算和优化策略。文章还提供了基于用户生命周期的精准营销方案,涵盖消息推送、短信营销等触达方式,并介绍了用户画像和数据分析方法。最后强调了数据监测和自动化报表的重要性,为互联网企业的用户运营提供了完整的方法论指导。
2025-07-17 00:07:27
1228
原创 《用户画像-方法论与工程化解决方案》读书笔记-第8章 用户画像应用
本文从商品、用户、渠道等多个维度阐述经营分析方法,包括爆款商品定位、用户画像分析、AARRR模型应用等。作者提供精准营销及个性化推荐方案,强调数据驱动的运营策略。
2025-07-17 00:07:09
256
原创 《用户画像-方法论与工程化解决方案》读书笔记-第7章 用户画像产品化
本文介绍了数据分析产品的核心功能模块及其应用场景,包括即时查询、标签视图、元数据管理、用户分群和人群分析等,覆盖数据分析师、业务人员等不同用户角色。
2025-07-16 23:39:02
240
原创 《用户画像-方法论与工程化解决方案》读书笔记-第6章 作业流程调度
本文对比了传统crontab任务调度系统的局限性与AirFlow工作流平台的优势,指出AirFlow在任务依赖管理、执行监控、错误通知等方面的改进。同时提供数据异常排查指南,包含常见原因分析。
2025-07-16 00:18:35
405
原创 《用户画像-方法论与工程化解决方案》读书笔记-第5章 开发性能调优
摘要:本文介绍了大数据处理中的数据倾斜问题及其解决方案。数据倾斜表现为任务卡在最后阶段,主要由某些节点计算量过大导致。解决方案包括过滤倾斜数据和引入随机数分key聚合。此外,文章还探讨了小文件合并、中间数据缓存的优化方法,以及不同持久化存储级别的选择。最后作者提供了个人简介和联系方式,表示可提供算法相关技术辅导和面试指导服务。全文结合实例详细讲解了大数据处理中的常见问题及优化策略。
2025-07-16 00:09:54
922
原创 《用户画像-方法论与工程化解决方案》读书笔记-第3章 标签数据存储
本文系统介绍了构建用户画像数据仓库的技术方案,重点对比了Hive、MySQL、HBase和Elasticsearch等存储技术的应用场景。Hive适合批量处理标签表,MySQL存储元数据和监控数据,HBase支持实时查询,Elasticsearch实现高效检索。文章详细阐述了各技术的架构特点、交互方式及在ID-Mapping、二级索引构建等场景中的实践方法,并提供了Hive到MySQL的数据迁移方案。全文为构建高效用户画像系统提供了全面的技术参考,涵盖离线批处理和实时查询等不同需求场景下的存储选型建议。
2025-07-15 03:30:00
1384
原创 《用户画像-方法论与工程化解决方案》读书笔记-第4章 标签数据开发
本文介绍了用户标签体系的开发方法,包括统计类标签(如近30日购买行为)、规则类标签(如用户价值RFM模型、活跃度标签)和挖掘类标签(如文本分类)的实现方案。重点阐述了活跃度标签的流失周期判定方法(回访率曲线和访问间隔统计),以及用户特征库的动态权重计算模型(结合行为类型、时间衰减、行为次数和TF-IDF)。开发技术涉及SparkSQL、Spark Streaming、文本挖掘算法(TF-IDF、朴素贝叶斯)等,并提供了数据服务层的典型应用场景。全文系统性地讲解了用户标签从设计到落地的完整方法论。
2025-07-15 03:30:00
1341
原创 《用户画像-方法论与工程化解决方案》读书笔记-第2章 数据指标体系
标签体系按用户维度可分为人口属性(如年龄、性别)、行为属性、消费属性和风控属性等。应用场景不同,标签类型(统计类、规则类、挖掘类)和命名方式(如C代表cookieid、U代表userid)需灵活调整。一级归类如ATTRIBUTE(属性标签)有助于结构化分类,确保标签清晰可管理。
2025-07-14 00:26:42
151
原创 《用户画像-方法论与工程化解决方案》读书笔记-第1章 用户画像基础
用户画像通过多维度数据(社会属性、消费习惯等)标签化刻画用户特征,包含统计类、规则类、挖掘类三类标签。系统开发需经历数据架构设计、表结构优化(全量/增量表、Hive分区查询优化)等流程,并通过业务应用持续迭代。实际应用中,画像数据能有效提升流量转化与商业价值。
2025-07-14 00:23:34
500
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人