<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Jack_Be的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Jack_Be</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Jack_Be]]></copyright><item><title><![CDATA[从《开心消消乐》看“三消”游戏的判定算法（简单版）]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/150503647</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/150503647</guid><author>Jack_Be</author><pubDate>Mon, 18 Aug 2025 23:17:08 +0800</pubDate><description><![CDATA[本文探讨了三消类游戏（如《开心消消乐》）中判断棋盘是否&quot;无可以消除&quot;的算法。核心思路是通过枚举所有相邻方块的交换可能，检测是否存在能形成≥3个连续相同方块的交换方式。文章将问题抽象为二维数组的遍历与检测，提供了Python实现代码，其时间复杂度为O(N×M×(N+M))，适用于常规棋盘规模。算法不仅能判断&quot;无消除&quot;状态，还可扩展为游戏提示功能。最后指出该解法在更大棋盘上的性能局限，为后续优化留下空间。]]></description><category></category></item><item><title><![CDATA[理解 React Hook]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/150274270</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/150274270</guid><author>Jack_Be</author><pubDate>Tue, 12 Aug 2025 16:32:43 +0800</pubDate><description><![CDATA[React Hook是React 16.8引入的新特性，它让函数组件能够拥有状态管理、副作用处理等能力，解决了类组件状态管理和逻辑复用困难的问题。内置Hook包括状态管理（useState、useReducer）、副作用处理（useEffect）、性能优化（useMemo、useCallback）等类型，还支持自定义Hook实现逻辑复用。使用Hook时必须遵循两条规则：只在最顶层调用，且仅用于React函数组件或自定义Hook中。虽然Hook带来了代码简化、逻辑拆分更灵活等优势，但也需注意避免滥用性能优化钩]]></description><category></category></item><item><title><![CDATA[Husky 常用 Git 钩子 — 详尽介绍与实战场景]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/150272820</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/150272820</guid><author>Jack_Be</author><pubDate>Tue, 12 Aug 2025 15:39:31 +0800</pubDate><description><![CDATA[本文介绍了Husky工具在前端/全栈开发中的实用配置指南。Husky是一个通过Node.js管理Git本地钩子的工具，可将脚本与Git事件（如pre-commit、pre-push等）关联，用于在本地拦截问题代码。文档详细说明了安装方法、常用钩子的典型场景与配置示例，包括pre-commit（代码格式化与静态检查）、commit-msg（提交信息规范）和pre-push（轻量测试）等关键钩子。同时提供了最佳实践建议，如将重型检查放到CI、结合lint-staged优化性能、编写友好的错误提示等。最后给出了P]]></description><category></category></item><item><title><![CDATA[对数几率回归（西瓜书3.3）]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/149548731</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/149548731</guid><author>Jack_Be</author><pubDate>Tue, 22 Jul 2025 22:21:33 +0800</pubDate><description><![CDATA[对数几率回归（Logistic Regression）是一种经典的二分类方法，通过Sigmoid函数将线性回归输出映射到[0,1]区间，得到概率预测。相比于阶跃函数，Sigmoid具有连续可导、输出概率化的优势。模型采用极大似然估计（MLE）进行参数学习，其对数似然函数等价于最小化交叉熵损失，从信息论视角看是在逼近真实分布。该损失函数具有严格凸性，可通过梯度下降等优化方法高效求解。Logistic回归融合了线性模型的可解释性与概率输出的优势，是机器学习领域重要的基础分类算法。]]></description><category></category></item><item><title><![CDATA[微信小程序性能优化笔记4（图片优化）]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/149408336</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/149408336</guid><author>Jack_Be</author><pubDate>Thu, 17 Jul 2025 09:00:00 +0800</pubDate><description><![CDATA[本文介绍了小程序图片优化的核心技巧，包括减少请求成本、提升加载效率两大方向。主要方法包括：使用雪碧图技术合并小图片减少HTTP请求次数；通过TinyPNG等工具压缩图片文件大小；采用CDN加速和WebP高压缩比格式提升传输效率。文章推荐使用微信团队的miniprogram-slim工具自动生成雪碧图和压缩图片，并强调在保持画质前提下平衡文件大小与加载速度。这些优化措施能有效提升小程序性能，改善用户体验。]]></description><category></category></item><item><title><![CDATA[微信小程序性能优化笔记3（网络请求优化）]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/149408104</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/149408104</guid><author>Jack_Be</author><pubDate>Wed, 16 Jul 2025 21:51:33 +0800</pubDate><description><![CDATA[小程序网络请求优化的核心策略包括：减少请求次数（本地缓存优先+同步更新）、优化请求参数（精简字段+JSON压缩）、并发请求管控（优先级队列突破10并发限制）。关键技巧是并行执行缓存读取与网络请求，同时通过优先级调度确保关键请求优先处理。需注意缓存数据的可靠性，将其作为加速手段而非唯一来源，并统一封装请求工具函数便于维护。这些方法能显著提升加载速度，优化用户体验。]]></description><category></category></item><item><title><![CDATA[微信小程序性能优化笔记2（骨架屏）]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/149407974</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/149407974</guid><author>Jack_Be</author><pubDate>Wed, 16 Jul 2025 21:35:34 +0800</pubDate><description><![CDATA[本文介绍了骨架屏的核心价值、实现方案及使用规范。骨架屏作为页面加载阶段的占位框架，能有效缓解用户等待焦虑，但不会提升实际渲染速度。文章分析了白屏成因，提出通过loading状态变量控制骨架屏与真实内容的切换，并详细说明了标准实现流程。重点强调三大规范：1）精准控制加载时机；2）通过配置文件统一管理样式；3）合理控制使用范围与复杂度。最后指出骨架屏要在不显著影响性能的前提下提升用户体验，需注重状态控制、标准化配置和场景适配。]]></description><category></category></item><item><title><![CDATA[微信小程序性能优化笔记1]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/149404453</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/149404453</guid><author>Jack_Be</author><pubDate>Wed, 16 Jul 2025 19:49:13 +0800</pubDate><description><![CDATA[小程序启动优化关键点在于控制启动时间在3秒内。核心流程包括环境准备、代码注入和首屏渲染三大阶段，受双线程机制（逻辑层与视图层并行）和启动方式（冷/热启动）影响。优化策略包括：减少代码量（分包/按需加载）、合理使用生命周期函数、优化数据拉取时机、资源压缩（WebP图片）、预加载缓存、利用WXS脚本减少线程通信等。重点关注一次性事件（App.onLaunch/Page.onLoad）的执行效率，通过调试工具分析性能瓶颈，实现快速首屏渲染。]]></description><category></category></item><item><title><![CDATA[Datawhale AI夏令营（机器学习方向）学习笔记1]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/149367691</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/149367691</guid><author>Jack_Be</author><pubDate>Tue, 15 Jul 2025 20:33:26 +0800</pubDate><description><![CDATA[针对赛题结合学习。]]></description><category></category></item><item><title><![CDATA[DS二叉树--层次遍历]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/134168848</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/134168848</guid><author>Jack_Be</author><pubDate>Wed, 01 Nov 2023 20:15:17 +0800</pubDate><description><![CDATA[设T是指向根结点的指针变量，若二叉树为空，则返回;层次遍历二叉树，是从根结点开始遍历，按层次次序"自上而下，从左至右"访问树中的各结点。例如把上述算法中的访问操作定义为输出，算法结果就是把二叉树按层次遍历输出。第二行起输入二叉树先序遍历的结果，空树用字符’0’表示，输入t行。建树方法采用"先序遍历+空树用0表示"的方法。(3)p所指向的结点的左、右子结点依次入队。第一行输入一个整数t，表示有t个测试数据。(4)跳转步骤1循环，直到队列空为止。定义一个空白队列和一个树结点指针p。（2）访问p所指向的结点;]]></description><category></category></item><item><title><![CDATA[可重叠子串 (Ver. I)]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/133758584</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/133758584</guid><author>Jack_Be</author><pubDate>Wed, 11 Oct 2023 10:15:00 +0800</pubDate><description><![CDATA[给定一个字符串（模式串）和一些待查找的字符串，求每个待查找字符串在模式串中出现的次数（可重叠）每一组的第二行包括一个整数N，代表待查找的字符串数量 (1 <= N <= 5)每一组接下来的N行，每一行包括一个待查找的字符串，其长度不超过50，且非空串。每一组的第一行包括一个字符串P，长度不超过105，且非空串。第一行输入t，表示有t组测试数据。输出每个待查找字符串出现的次数，]]></description><category></category></item><item><title><![CDATA[串应用- 计算一个串的最长的真前后缀]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/133758483</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/133758483</guid><author>Jack_Be</author><pubDate>Wed, 11 Oct 2023 10:15:00 +0800</pubDate><description><![CDATA[试实现一个函数string matched_Prefix_Postfix(string str)，得到输入串str的最长的真前后缀。若不存在最长的真前后缀则输出empty。ABCDAB的真后缀有：{ B, AB,DAB, CDAB, BCDAB } 因此，该串的真前缀和真后缀中最长的相等串为AB，我们称之为该串的“最长的真前后缀”。给定一个串，如ABCDAB，则ABCDAB的真前缀有{ A, AB, ABC, ABCD, ABCDA }n个最长的真前后缀，若不存在最长的真前后缀则输出empty。]]></description><category></category></item><item><title><![CDATA[DS串应用--串替换]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/133758304</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/133758304</guid><author>Jack_Be</author><pubDate>Wed, 11 Oct 2023 10:00:00 +0800</pubDate><description><![CDATA[用字符串s替换从下标pos开始长度为len的字符，str.replace(pos, len, s)。给出主串、模式串、替换串，用KMP算法找出模式串在主串的位置，然后用替换串的字符替换掉模式串。第二行输入第1个实例的主串，第三行输入第1个实例的模式串，第四行输入第1个实例的替换串。第二行输出第1个实例的主串替换后结果，如果没有发生替换就输出主串原来的内容。本题只考虑一处替换的情况，如果你想做的完美一些，能够实现多处替换那。可能需要考虑模式串和替换串长度不一致的情况。第一行输出第1个实例的主串。]]></description><category></category></item><item><title><![CDATA[DS串应用--KMP算法]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/133757850</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/133757850</guid><author>Jack_Be</author><pubDate>Tue, 10 Oct 2023 22:48:30 +0800</pubDate><description><![CDATA[第二行输出第1个实例的匹配位置，位置从1开始计算，如果匹配成功输出位置，匹配失败输出0。第二行输入第1个实例的主串，第三行输入第1个实例的模式串。学习KMP算法，给出主串和模式串，求模式串在主串的位置。第一行输出第1个实例的模式串的next值。为什么next值和课本的不一样？第一个输入t，表示有t个实例。算法框架如下，仅供参考。]]></description><category></category></item><item><title><![CDATA[四进制加法（运算符重载）]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/130837705</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/130837705</guid><author>Jack_Be</author><pubDate>Tue, 23 May 2023 23:41:50 +0800</pubDate><description><![CDATA[定义一个四进制的类，重定义“+”号实现四进制数的累加。定义一个四进制的类，重定义“+”号实现四进制数的累加。所有输入四进制数累加的和。]]></description><category></category></item><item><title><![CDATA[OOP矩阵类运算（运算符重载）]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/130837591</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/130837591</guid><author>Jack_Be</author><pubDate>Tue, 23 May 2023 23:35:26 +0800</pubDate><description><![CDATA[请重载加减运算符并自定义矩阵类完成相应的操作。利用重载运算符，实现矩阵的加法，减法。接下来分别为两个矩阵的各个元素。第一行为矩阵的行数和列数。]]></description><category></category></item><item><title><![CDATA[学生生日差值计算（运算符重载）]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/130837424</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/130837424</guid><author>Jack_Be</author><pubDate>Tue, 23 May 2023 23:18:56 +0800</pubDate><description><![CDATA[定义一个学生类Student，包含该学生的姓名、出生年、月、日 ，重定义 “-”号实现两个学生之间相差多少天的比较。并利用重载的“-”运算符，求所有学生中年龄相差最大的两个人的名字以及相差天数。第二行开始，依次输入每个学生的姓名、出生年、月、日。输出年龄相差最大的两个人的名字以及相差天数。Tom和Jimmy年龄相差最大，为372天。第一行：输入所需要输入的学生个数；]]></description><category></category></item><item><title><![CDATA[分数的加减乘除（运算符重载）]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/130837260</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/130837260</guid><author>Jack_Be</author><pubDate>Tue, 23 May 2023 23:00:34 +0800</pubDate><description><![CDATA[1.实现Fraction类；common_divisor()和contracted()函数体可为空，不实现具体功能。每行依次分别输出加减乘除计算后的Fraction对象（直接输出分数值，不需要约简）。2.编写main函数，初始化两个Fraction对象的，计算它们之间的加减乘除。第1行：依次输入第1个和第2个Fraction对象的分子和分母值。]]></description><category></category></item><item><title><![CDATA[复数的加减乘运算（运算符重载+友元）]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/130837154</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/130837154</guid><author>Jack_Be</author><pubDate>Tue, 23 May 2023 22:56:13 +0800</pubDate><description><![CDATA[设z1=a+bi，z2=c+di(a、b、c、d∈R)是任意两个复数，那么它们的积(a+bi)(c+di)=(ac-bd)+(bc+ad)i.2.编写main函数，初始化两个Complex对象，计算它们之间的加减乘，并输出结果。定义一个复数类，通过重载运算符：+、-、*，实现两个复数之间的各种运算。第1行：输入两个数值，分别为第一个Complex对象的实部和虚部。第2行：输入两个数值，分别为第二个Complex对象的实部和虚部。第3行：两个Complex对象相乘后的输出结果。]]></description><category></category></item><item><title><![CDATA[图书借阅（对象数组+构造）]]></title><link>https://blog.youkuaiyun.com/Jack_Be/article/details/130670031</link><guid>https://blog.youkuaiyun.com/Jack_Be/article/details/130670031</guid><author>Jack_Be</author><pubDate>Sun, 14 May 2023 16:14:22 +0800</pubDate><description><![CDATA[输入借书信息，对每次借书需求，根据样例给出结果。定义图书类CBook，数据成员包括：索取号、书名、馆藏数量、可借数量。Python大学教程 索取号: TP311.561-43/L93。TP311.561-43/L93 Python大学教程 3 1。软件工程基础 索取号: TP311.5-43/M18a1(2)TP311.561-43/L93 Python大学教程 3 0。TP311.5-43/M18a1(2) 软件工程基础 3 3。TP311.5-43/M18a1(2) 软件工程基础 3 2。]]></description><category></category></item></channel></rss>