- 博客(13)
- 收藏
- 关注
原创 算法学习——技巧小结5(二分查找、查找左边界、查找右边界)
本文将从手把手带着的实现二分查找、查找左边界以及查找右边界,捋清各种实现下代码细节(如循环条件,端点移动等)该如何选择,并例举了一些变种的二分查找的题目,帮助加深理解。
2025-06-12 14:36:08
638
原创 算法学习——技巧小结4(前缀和/后缀和,Python里的取模/取余运算)
前缀和(Prefix Sum),又称前缀和数组,是指将原始数组转换为一个新数组,其中每个元素表示原始数组从第一个元素到当前位置所有元素的和,这是一种重要的数据预处理技术。通过前缀和,我们可以把求子数组的元素和转化成求前缀和数组中两个元素之差,这样能够显著提高区间查询的效率。后缀和(Suffix Sum)是与前缀和相对应的概念,也是一种重要的数据预处理技术,是指将原始数组转换为一个新数组,其中每个元素表示从当前位置到数组末尾所有元素的和。
2025-06-10 16:25:11
843
原创 算法学习——技巧小结3(反转链表)
链表作为一种基础却极为重要的线性结构,它频繁地出现在面试题中。本文聚焦于其中一个小类——反转链表,将从问题出发,逐步拆解翻转链表的思路,用清晰的图示和代码示例展示如何优雅的解决反转链表这类题目。
2025-06-07 15:52:56
655
原创 算法学习——技巧小结2(滑动窗口)
滑动窗口主要解决的是有关的问题,其本质是一个双指针技巧,左右指针之间(包含端点)的范围即为窗口。根据窗长可分为定长滑动窗口问题和不定长滑动窗口问题。指的是窗口的长度说固定的,即左右指针以同样都速度向右移动,保证窗长不变,一般解决的问题是求指定长度子数组的最值。据 灵神 总结,这类题,有一个固定框架,。指的是窗口的长度说变化的,一般来说右指针每次循环走一步,而左指针则不同,它只有在满足一定条件时才走。若结果是从满足一定条件的所有子数组中寻找,那就可以用不定长滑动窗口。
2025-06-06 14:30:26
885
原创 算法小结——动态规划3(划分不相交区间)
是一个经典的动态规划题目,在实际生活中也是一个十分广泛的应用,而且也是笔试中常常出现的问题,如(一个月30天,不同的主办方想要申请使用鸟巢一小段连续的时间,如何安排接待哪些主办方,可以使得一个月内鸟巢的使用率最高),(公司拥有一整段IP范围的划分权,公司不同的部门各自想要申请使用一段连续的IP,同意哪些部门的申请可以使得IP的使用率最高)等。
2025-06-03 10:50:45
623
原创 算法学习——动态规划2(最大子数组和/最大子段和)
这类题dp[i]的定义为:以nums[i]结尾的子数组/子序列的最大值,求出所有dp后,再在其中寻造出最大的一个,便是整个数组nums中子数组/子序列最大值。
2025-06-03 10:50:35
261
原创 安装Pytorch详细步骤,含CPU版和CUDA版
PyTorch 是一款基于 Python 的开源深度学习框架,凭借其卓越的 GPU 加速计算能力和灵活的编程接口,已成为人工智能领域最受欢迎的工具之一。该框架目前已在机器学习(ML)、深度学习(DL)、计算机视觉(CV)、自然语言处理(NLP)等多个前沿研究与应用领域展现出强大的影响力。本文主要参考了的视频,总结了如何在Anaconda的虚拟环境中安装Pytorch,包括CPU版和CUDA版。
2025-06-02 17:03:59
1324
原创 算法学习——动态规划1(爬楼问题,打家劫舍)
文章通过爬楼问题和打家劫舍问题来温故了动态规划的通用框架和核心步骤,并且每道题都按照递归版->递推版->优化空间复杂度爬楼问题:在有限种选择下,求能够组成不同种类的种数的问题,可以优先考虑转化成爬楼问题。打家劫舍:选择受限(特别是相邻元素之间的限制)是,在序列中进行选择,最大化或最小化某些值。
2025-04-24 14:13:59
813
原创 算法学习——技巧小结1(枚举右维护左,哈希表的应用)
枚举右维护左:– 核心思想:枚举右边界,动态维护左边界信息– 两个技巧:预处理后缀,双指针哈希表:– 使用场景:查找,统计次数– 建表思路:明确以什么“标准”认为查找元素(key),明确要对找到的元素的什么“属性”进行操作(value参考卡哥灵神。
2025-04-17 20:19:40
994
原创 算法学习——动态规划0(核心框架)
根据状态数量可以知道到,dp设为多少维的,本题为2维定义:dp[i][j]表示将前 i 个物品放进容量为 j 的背包,背包能放下的物品最大价值这种定义方法是背包问题的套路,记住即可。
2025-04-15 20:54:27
881
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人