- 博客(317)
- 收藏
- 关注
原创 面试算法高频08-动态规划-03
编辑距离问题通过动态规划将复杂的字符串转换问题分解为子问题,利用状态转移方程高效求解。关键在于正确定义状态和转移逻辑,边界条件的处理也至关重要。该解法是此类问题的经典解法,时间和空间复杂度均为多项式级别,适用于大多数实际场景。
2025-04-28 10:21:45
853
原创 【python】Asyncio包学习18-21
Python的contextvars模块在Python 3.7版本引入,它是为了解决Python异步编程中的上下文变量传递问题而设计的。contextvars模块主要为我们提供了ContextVar类,我们可以使用ContextVar创建一个上下文变量,这个变量可以在同一个上下文中传递,但在不同的上下文中是隔离的。这是非常重要的,因为在异步编程中,很多时候我们需要在不相关的代码之间传递一些信息,比如请求ID、用户身份信息等。var.set('new value') # 在当前上下文中设置var的值。
2025-04-28 09:07:59
687
原创 【python】Asyncio包学习11-17
Python asyncio Semaphore是基于asyncio的协程实现的,它的底层实现原理涉及到协程的调度和计数器的管理。在asyncio中,Semaphore的实现是基于一个计数器和一个等待队列。当一个协程需要获取Semaphore对象时,Semaphore会检查计数器的值。如果计数器的值大于0,说明有资源可用,Semaphore就会将计数器的值减1,表示资源被占用。
2025-04-22 10:15:06
1085
原创 【python】Asyncio包学习6-10
在Python的异步编程模块asyncio中,异步迭代器(Asynchronous Iterators)是一种特殊的迭代器,允许异步生成值。它实现了和方法,其中返回异步迭代器对象本身,返回一个coroutine协程对象,用于异步生成下一个值。异步迭代器工作方式与常规迭代器类似,但允许在迭代过程中异步生成值。当用于async for循环时,会异步生成迭代序列中的每个值,直到没有值可供生成。def __aiter__(self): # 注意__aiter__必须为普通方法。
2025-04-21 09:34:54
1083
原创 【python】Asyncio包学习 1-5
在Python中,异步模式是一种非阻塞式I/O操作的编程模式,可以使用协程(coroutine)来实现。异步模式可以使程序在执行I/O操作时不会被阻塞,从而实现更加高效的并发处理。在Python中,异步模式主要有两种实现方式:asyncio和Twisted。其中asyncio是Python 3.4引入的标准库,而Twisted是一个广泛使用的Python异步网络框架。使用异步模式时,可以使用async/await关键字来定义协程,使用事件循环(event loop)来驱动协程的执行。
2025-04-19 13:04:20
1179
1
原创 面试算法高频08-动态规划-02
给定两个字符串text1和text2,要求返回这两个字符串的最长公共子序列。例如对于字符串 “ABAZDC” 和 “BACBAD”,需找出它们最长的公共子序列。子序列是指在不改变其余字符相对位置的情况下,从原始字符串中删除某些字符(也可以不删除)后形成的新字符串。
2025-04-18 11:06:27
923
原创 微服务最佳实践:全链路可用性保障体系
流量层通过分级限流与智能负载均衡抵御峰值;逻辑层利用超时、重试、降级实现快速失败与优雅恢复;基建层借助监控、演练、隔离保障全链路可靠;工具层整合开源框架形成自动化防护体系。最终目标是在复杂分布式环境中,以最小成本实现“高可用、可扩展、易维护”,从容应对流量波动、依赖故障、变更风险等挑战。
2025-04-15 12:03:10
935
原创 面试算法高频07-binary_search
需要找到目标值在有序数组中最后一个出现的位置(如重复元素场景)。场景核心逻辑循环条件关键判断精确查找直接比较中间值,相等则返回target左边界查找寻找第一个大于等于目标的位置,缩小时保留可能的左边界右边界查找寻找最后一个小于等于目标的位置,缩小时保留可能的右边界旋转数组查找判断有序半区,在有效半区内搜索比较二维矩阵查找一维化处理,利用行列有序性映射二维坐标到一维索引。
2025-04-14 10:07:03
986
原创 面试算法高频06-greedy
最优子结构指:问题的最优解包含子问题的最优解。若子问题的局部最优无法推导全局最优,则贪心失效。贪心选择性质指:通过局部最优选择能最终得到全局最优解。若局部最优可能导致后续无解或非最优,则贪心失效。后效性指:当前决策会改变未来状态,导致后续选择无法补救前期错误。问题无最优子结构:局部最优解不构成全局最优(如非整除硬币找零)。贪心选择性质不成立:局部选择可能排除更优的全局组合(如0-1背包)。存在后效性或负权影响:当前决策限制未来选择或需回溯调整(如负权图最短路径)。目标函数非单维度最优。
2025-04-14 09:04:22
411
原创 [k8s]随笔-typemeta metadata
TypeMeta是资源的“身份证”,定义其类型和版本。metadata是资源的“档案”,包含名称、分类、扩展信息及生命周期管理。设计原则声明式:用户只需定义spec和metadata,系统自动维护status。分层化:通过标签和注解实现资源的逻辑分组与扩展配置。自动化:利用系统自动生成字段(如uid)简化管理。通过合理设计TypeMeta和metadata,可以提高资源的可观测性、可维护性及与工具链的集成能力。
2025-04-13 15:27:07
1056
原创 [k8s]随笔- spec内容整理
path:当前正在构建的括号字符串(如"(()"leftright通过回溯法在生成括号的过程中实时校验有效性,避免了无效路径的搜索,高效地枚举了所有可能的有效组合,是该问题的最优解法。
2025-04-13 15:12:17
1168
原创 面试算法高频05-bfs-dfs
path:当前正在构建的括号字符串(如"(()"leftright通过回溯法在生成括号的过程中实时校验有效性,避免了无效路径的搜索,高效地枚举了所有可能的有效组合,是该问题的最优解法。
2025-04-12 15:45:02
1130
原创 面试算法高频02-树
前序遍历、中序遍历和后序遍历是二叉树的三种常见遍历方式,它们的定义和特点如下:这三种遍历方式都是基于递归的思想实现的,在实际应用中,可以根据具体需求选择合适的遍历方式来处理二叉树相关的问题。同时,也可以通过栈或其他数据结构将递归遍历转换为非递归的形式进行实现。二叉搜索树二叉搜索树(Binary Search Tree,BST) ,也叫二叉查找树、二叉排序树 ,它要么是空树,要么是满足以下性质的二叉树:对二叉搜索树进行中序遍历(左子树 - 根节点 - 右子树 ),会得到一个递增的有序序列 。这种结构在数据
2025-04-04 11:17:09
982
原创 面试算法高频01
双指针法:通过贪心策略避免暴力枚举,线性时间内找到最优解。移动规则:每次移动较短的指针,确保可能找到更高的柱子。正确性:虽然跳过了部分情况,但最优解一定在移动路径中被覆盖。该解法在时间和空间上均达到最优,是解决本题的经典方法。双指针法:通过j指针记录非零元素的位置,确保非零元素按顺序排列。原地操作:直接修改原数组,避免额外空间开销。高效性:仅需两次遍历,满足题目要求的最少操作次数。该解法在时间和空间上均达到最优,是解决本题的经典方法。动态规划。
2025-04-04 09:55:03
889
原创 golang map扩容随笔
所以,Go map 的初始桶数是从 1 开始的(2^0),但具体数量会根据初始化时的 hint 参数动态调整。这种设计既节省内存又保证了性能。这种设计保证了 map 在各种场景下都能保持良好的性能,同时通过渐进式扩容避免了性能抖动。
2025-04-04 09:13:40
351
原创 微信抢红包系统架构设计(春节高并发场景)
采用,在发红包时预先计算所有红包金额并存储为有序链表,抢红包时直接按顺序分配,避免实时计算压力。100元分5个包 → 拆分后存储为。
2025-03-16 11:44:45
495
原创 golang recover错误
某些底层系统错误(如栈溢出、内存段错误)可能绕过Go的。,可以优雅处理局部错误,但需理解其局限性以避免误用。如切片越界、类型断言失败、空指针解引用等运行时。技术上可捕获,但程序状态可能损坏,需谨慎处理。但程序可能处于不可信状态,继续执行需谨慎。抛出自定义类型(如结构体或错误接口),每个goroutine需独立处理自己的。,主goroutine无法捕获。或发生致命错误(如内存耗尽),函数中调用有效,且必须位于触发。且未被捕获,程序仍会崩溃。主动抛出的错误,只要在。的同一函数调用栈中。机制,直接终止程序。
2025-03-11 11:55:25
408
原创 golang中具有 “no copy“的类型
在 Go 语言中,某些类型由于特殊用途或底层实现,可能会被标记为 “no copy”,即它们不能被复制,通常是因为复制会导致意外的行为或错误。这些类型主要包括:2. 原因: 依赖于 ,如果复制,会导致多个 变量竞争同一个锁。示例:3. 原因: 用于确保某段代码只执行一次,复制 可能导致相同的初始化逻辑执行多次。示例:4. 原因: 维护一个内部计数器,拷贝后多个 可能操作同一个计数器,导致错误。示例:5. 原因: 是一个对象池,拷贝会导致多个 可能
2025-03-09 17:34:57
534
原创 深入理解sync pool
Pool 并没有直接使用 poolDequeue,原因是它的大小是固定的,而 Pool 的大小是没有限制的。因此,在 poolDequeue 之上包装了一下,变成了一个 poolChainElt 的双向链表,可以动态增长。字段 pad 主要是防止 false sharing。poolChain 是一个双端队列的实现。
2025-03-07 16:46:22
956
原创 9.三重积分、线面积分、场论初步 练习
格林定理将平面上的线积分与区域上的二重积分联系起来。具体来说,对于一个向量场FPxyQxyFPxyQxy))和一个简单闭合曲线CCC围成的区域DDD,有:1. 核心概念与数学表达梯度(Gradient)定义gradf∇f∂f∂x∂f∂y∂f∂zgradf∇f∂x∂f∂y∂f∂z∂f。
2025-02-24 23:26:10
751
原创 9.三重积分、线面积分、场论初步(基础知识)(二)
格林公式是向量微积分中的一个基本定理,它将平面上的一个闭合路径上的线积分与该路径所围成区域内的二重积分联系起来。下面是格林公式的推导过程。设 $ C $ 是一个正定向的简单闭曲线,$ D $ 是由 $ C $ 围成的区域。如果函数 $ P(x, y) $ 和 $ Q(x, y) $ 在 $ D $ 上有连续的一阶偏导数,则有:∮CP dx+Q dy=∬D(∂Q∂x−∂P∂y) dA\oint_C P \, dx + Q \, dy = \iint_D \left( \frac{\partial Q}{\p
2025-02-23 21:07:54
301
原创 [python]cook_book 第八章 类与对象
实现一个类,除了使用init() 方法外,还有其他方式可以初始化它“”“方法一:使用类方法”“”definitdef today(cls): ## 这里是关键 传入 clst4 = Number(0.6) # 创建一个数值节点newdefinit(self):else:definit。
2025-02-19 09:18:58
703
原创 9.三重积分、线面积分、场论初步(基础知识)(一)
9.三重积分、线面积分、场论初步1. 三重积分三重积分的概念与性质三重积分的定义设 f(x,y,z)f(x,y,z)f(x,y,z) 是有界闭区域 Ω\OmegaΩ 上的有界函数。将闭区域 Ω\OmegaΩ 任意分成 nnn 个小的闭区域 Δv1,Δv2,⋯ ,Δvn\Delta v_1, \Delta v_2, \cdots, \Delta v_nΔv1,Δv2,⋯,Δvn,在每个 Δvi\Delta v_iΔvi 上取一点 (ξi,ηi,ζi)(\xi_i, \eta_i, \zeta_
2025-01-14 22:32:16
612
原创 8.向量代数和空间解析几何基础知识
如图4.1所示,在平面坐标系xOy的坐标平面上,过原点加上垂直于该平面的第三根坐标轴z轴,就构成了空间的直角坐标系Oxyz。它使空间的一个点P与其坐标x0y0z0建立了一一对应的关系。
2025-01-04 12:01:49
1030
原创 7. 第七章 无穷级数基础知识
10 无穷级数收敛域1. 解题过程:求 ∑n=1∞(−1)nnxnn!\sum_{n=1}^\infty (-1)^n \frac{\sqrt{n} x^n}{n!}∑n=1∞(−1)nn!nxn 的收敛半径我们要求以下级数的收敛半径:∑n=1∞(−1)nnxnn!\sum_{n=1}^\infty (-1)^n \frac{\sqrt{n} x^n}{n!}∑n=1∞(−1)nn!nxn。1. 用比值判别法分析收敛性设一般项为:an=(−1)nnxnn!a_n = (-1
2024-12-29 23:18:06
518
原创 7.无穷级数收敛域习题
(1) ∑n=1∞xnn(n+1)\sum _ { n = 1 } ^ { \infty } \frac { x ^ { n } } { n ( n + 1 ) }∑n=1∞n(n+1)xn求解幂级数和函数计算下列幂级数的和函数:∑n=1∞xnn(n+1)\sum_{n=1}^\infty \frac{x^n}{n(n+1)}n=1∑∞n(n+1)xn解题步骤第一步:分拆原级数将原级数分拆为两部分:∑n=1∞xnn(n+1)=∑n=1∞xnn−∑n=1∞x
2024-12-29 23:17:04
759
原创 《思考,快与慢》丹尼尔.卡尼曼 总结
系统1:系统2:两个系统的协作关键思维误区在这一章中,卡尼曼还强调了一些常见的思维误区,例如:总结系统1与系统2的角色:瞳孔反应与思维活动:注意力与努力的关系:关键实验与案例:总结:惰性思维与延迟满足的矛盾:系统1与系统2的互动:认知负荷与决策:意外与预期:总结:联想的神奇力量:框架效应与决策:认知偏差的影响:联想与创造力:总结:直觉与错觉:案例分析:提高判断准确性:意外事件的影响:预期与现实:情感与决策:启发式思维:代表性启发式:案例研究:总结:系统1与系统2的分工:思维发散性:关键实例:总结:启发性问题
2024-12-28 22:31:13
540
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人