<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[NGEFF的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/NGEFF</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; NGEFF]]></copyright><item><title><![CDATA[LeetCode 热题 100 -- （239.滑动窗口最大值）思路与总结]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/170566987</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/170566987</guid><author>NGEFF</author><pubDate>Thu, 12 Nov 2026 01:06:19 +0800</pubDate><description><![CDATA[本文分享了滑动窗口最大值问题的优化思路：从暴力枚举每个窗口找最大值（O(nk)）出发，通过单调队列实现O(n)时间复杂度。核心思想是维护一个存储下标的双端队列，保持队列中元素对应值从大到小排列，队首始终为当前窗口最大值。当窗口滑动时，移除超出范围的下标，并在新元素入队时剔除比它小的元素。最终利用队首元素获取每窗口最大值。该方法高效避免重复计算，是解决此类问题的经典技巧。]]></description><category></category></item><item><title><![CDATA[LeetCode 热题 100 -- （560.和为k的子数组）思路与总结]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/170457905</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/170457905</guid><author>NGEFF</author><pubDate>Tue, 10 Nov 2026 22:46:27 +0800</pubDate><description><![CDATA[本文分享了求子数组和为k的解题思路。初始用双重循环暴力求解，时间复杂度高。后改用前缀和结合HashMap优化：通过记录此前缀和出现次数，快速判断是否存在满足条件的子数组。核心思想是利用“区间和 = 两前缀差”及“查找历史前缀和”特性，将时间复杂度降至O(n)。总结指出，连续子数组问题可考虑前缀和或滑动窗口，涉及“之前是否出现过某值”时应优先使用哈希表。]]></description><category></category></item><item><title><![CDATA[从单体到微服务，我只干对了两件事：拆分与治理]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/166902660</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/166902660</guid><author>NGEFF</author><pubDate>Wed, 30 Sep 2026 20:25:10 +0800</pubDate><description><![CDATA[这篇文章是我今天初步学习微服务有感而发，想谈谈我的理解，有时候我们做项目时线上还动不动因为某个模块的锅整站瘫痪。这种场面，你要是也经历过，那这篇内容就是给你写的。]]></description><category></category></item><item><title><![CDATA[Java数据类型转换与运算符全攻略：从“青铜“到“王者“的必经之路]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/157176052</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/157176052</guid><author>NGEFF</author><pubDate>Tue, 20 Jan 2026 15:05:44 +0800</pubDate><description><![CDATA[本文全面介绍了Java数据类型转换与运算符的核心知识点。主要内容包括：1. Java基本数据类型及其存储原理，包括整数、浮点数等8种类型；2. 类型转换机制，涵盖自动转换和强制转换规则，以及数据溢出的风险；3. 运算符详解，包括算术、逻辑、位运算等，特别强调了自增/减运算的前后置差异；4. 实用技巧如键盘输入处理和变量交换方法；5. 常见问题解答和避坑指南。文章通过大量代码示例和比喻，帮助读者深入理解Java运算规则，提升编程准确性和效率。]]></description><category></category></item><item><title><![CDATA[别怕，Java入门比你想象的简单！一篇文章带你跳过所有坑]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/156736131</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/156736131</guid><author>NGEFF</author><pubDate>Thu, 08 Jan 2026 23:12:39 +0800</pubDate><description><![CDATA[摘要： Java作为一门强大的高级编程语言，广泛应用于企业级开发、安卓应用等领域。本文从零开始介绍Java入门：首先解释Java的三大版本（SE、EE、ME），推荐初学者从JavaSE入手；详细指导JDK安装与环境变量配置；通过“Hello World”示例演示编译运行流程，并解释Java跨平台的JVM原理；推荐使用IntelliJ IDEA提升开发效率；最后讲解基础语法如注释、变量及常见错误调试技巧。全文旨在帮助新手轻松迈出Java编程第一步，强调动手实践的重要性。]]></description><category></category></item><item><title><![CDATA[C语言指针通关秘籍：我学懂了sizeof和strlen的终极区别！]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/156170052</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/156170052</guid><author>NGEFF</author><pubDate>Tue, 23 Dec 2025 00:21:24 +0800</pubDate><description><![CDATA[本文深入解析了C语言中指针与数组、sizeof与strlen的关系。sizeof计算内存占用大小，而strlen统计字符串长度直到遇到\0。数组名在多数情况下会退化为指针，但在sizeof和&amp;操作时例外。文章通过实例对比了字符数组的不同初始化方式，剖析了指针运算的步长规则，并解答了典型笔试题。重点指出指针是C语言的强大工具，但也容易引发错误，使用时必须明确指针类型、指向位置和内存有效性。最后建议通过画图和练习来掌握指针这一C语言精髓。]]></description><category></category></item><item><title><![CDATA[C语言高阶玩法：函数指针与回调函数实战指南，让你的代码拥有“灵魂”]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/155993105</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/155993105</guid><author>NGEFF</author><pubDate>Wed, 17 Dec 2025 00:47:00 +0800</pubDate><description><![CDATA[本文详细介绍了回调函数的概念及其在C语言中的应用。回调函数是通过函数指针调用的函数，主要用于事件响应和异步处理，能提高代码复用性和实现动态配置。文章通过计算器重构示例展示了回调函数的优势，并重点解析了标准库函数qsort的使用方法，包括对整型数组和结构体数组的排序。此外，还模拟实现了基于冒泡排序的通用排序函数，深入探讨了void*指针和字节级交换等关键技术。最后总结了回调函数在C语言中的重要性和应用场景，为学习更高级特性打下基础。]]></description><category></category></item><item><title><![CDATA[解锁C语言的灵魂：指针入门宝典（三）：指针的进阶艺术与底层探秘]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/155131423</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/155131423</guid><author>NGEFF</author><pubDate>Sat, 22 Nov 2025 15:39:45 +0800</pubDate><description><![CDATA[通过使用转移表，我们不仅使代码更加简洁优雅，还提高了程序的可维护性和扩展性。因此，二维数组的数组名表示的是第一行（一个一维数组）的地址。2.当多个指针指向相同的字符串常量时，它们实际上指向同一块内存地址使用相同的字符串。在讨论数组指针之前，我们先要明确：数组指针本质上是一个指针变量，而不是数组。输出结果显示两个地址相同，证明函数确实具有地址，且函数名就是函数的地址。函数指针变量用于存储函数的地址，通过该地址可以调用相应的函数。二维数组传参时，形参既可以写成数组形式，也可以写成指针形式。]]></description><category></category></item><item><title><![CDATA[解锁C语言的灵魂：指针入门宝典（二）数组与指针的终极指南]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/153596879</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/153596879</guid><author>NGEFF</author><pubDate>Tue, 21 Oct 2025 09:27:15 +0800</pubDate><description><![CDATA[本文深入探讨C语言中数组与指针的核心关系，涵盖数组名的本质、数组传参机制、二级指针概念及综合应用。主要内容包括：1. 数组名的双重特性（首元素地址与整体数组标识）；2. 使用指针访问数组的多种方式及其等价性验证；3. 数组传参的本质是地址传递；4. 冒泡排序算法的指针优化实现；5. 二级指针的定义与实际应用场景；6. 指针数组的概念及其在字符串处理和模拟多维数组中的应用。通过完整的内存管理示例，展示了指针和数组的综合应用技巧，帮助读者深入理解C语言的内存管理机制。]]></description><category></category></item><item><title><![CDATA[解锁C语言的灵魂：指针入门宝典（一）]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/153111873</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/153111873</guid><author>NGEFF</author><pubDate>Sun, 12 Oct 2025 14:54:15 +0800</pubDate><description><![CDATA[本文系统讲解了C语言指针的核心概念与应用。从内存结构类比（宿舍楼模型）出发，阐明指针本质是内存地址；详细解析了指针变量定义、解引用操作、指针运算（算术/关系/减法）等基础操作；强调了const修饰指针的四种保护模式及void*指针的特性；特别警示了野指针的危害及防范措施；通过assert断言、参数传递（传值vs传址）等实战案例，展示指针在字符串处理、数组操作中的强大能力。最后指出指针既是高效工具也需谨慎使用，正确的指针操作能提升程序性能，错误使用则会导致严重安全隐患。]]></description><category></category></item><item><title><![CDATA[C语言深度解析：操作符全览与核心难点剖析]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/152282604</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/152282604</guid><author>NGEFF</author><pubDate>Wed, 01 Oct 2025 15:37:40 +0800</pubDate><description><![CDATA[本文系统讲解了C语言中的操作符分类、二进制运算基础及进阶应用。主要内容包括：1）操作符全面分类（算术、位、赋值等11类）；2）二进制与进制转换原理；3）原码/反码/补码存储机制；4）移位与位操作符的深度解析；5）单目操作符与逗号表达式；6）结构体成员访问方法；7）操作符优先级与结合性规则；8）表达式求值中的整型提升和算术转换。重点剖析了位操作经典算法（如统计1的个数、无临时变量交换），并强调避免未定义行为的最佳实践。通过大量代码示例，帮助开发者掌握底层二进制运算技巧，提升代码效率和安全性。]]></description><category></category></item><item><title><![CDATA[函数递归 - 编程中的“俄罗斯套娃”艺术]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/152171552</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/152171552</guid><author>NGEFF</author><pubDate>Sat, 27 Sep 2025 18:46:56 +0800</pubDate><description><![CDATA[本文系统介绍了递归编程的核心概念与应用。首先通过阶乘计算等简单案例，阐释了递归&quot;自我调用&quot;的本质和&quot;化繁为简&quot;的核心思想，强调必须设置终止条件避免栈溢出。进而对比递归与迭代的优劣，指出递归适合树形结构等场景，但需警惕斐波那契数列等案例中的重复计算问题。最后通过青蛙跳台阶和汉诺塔两个经典问题，具体展示了递归思维的应用：前者揭示动态规划特征，后者体现完美递归结构。文章建议编程时先明确基准情形和递归关系，对于性能敏感场景可考虑迭代优化或记忆化技术，并提供了进阶思考方向。全文]]></description><category></category></item><item><title><![CDATA[第6讲：C语言函数精髓，一文助你深入掌握！]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/149354388</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/149354388</guid><author>NGEFF</author><pubDate>Tue, 15 Jul 2025 15:19:33 +0800</pubDate><description><![CDATA[本文系统介绍了C语言函数的相关知识，主要内容包括：1. 函数的基本概念与分类（库函数和自定义函数）；2. 库函数的使用方法及标准头文件；3. 自定义函数的编写与调用；4. 形参与实参的区别及数组作为函数参数；5. 函数的嵌套调用与链式访问；6. 函数声明与定义的位置关系；7. static和extern关键字的用法。通过实例演示了函数定义、参数传递、返回值处理等核心概念，并强调了函数在模块化编程中的重要性。文章为C语言初学者提供了全面的函数使用指南。]]></description><category></category></item><item><title><![CDATA[第5讲：玩转C语言数组，附超实用代码示例！]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/149329823</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/149329823</guid><author>NGEFF</author><pubDate>Mon, 14 Jul 2025 14:45:00 +0800</pubDate><description><![CDATA[本文系统介绍了C语言数组的核心知识，包括一维和二维数组的创建、初始化及使用方法。重点讲解了数组元素访问、内存存储方式、sizeof计算元素个数等关键概念，并通过二分查找等典型应用示例加深理解。文章还涵盖C99变长数组特性，并强调数组在程序设计中的重要性，为后续学习指针等高级特性奠定基础。通过理论讲解与实践代码相结合的方式，帮助读者全面掌握数组这一基础数据结构。]]></description><category></category></item><item><title><![CDATA[C语言之分支与循环小游戏程序]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/149277590</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/149277590</guid><author>NGEFF</author><pubDate>Fri, 11 Jul 2025 16:46:23 +0800</pubDate><description><![CDATA[本文介绍了如何用C语言实现猜数字游戏。首先讲解了随机数生成的关键函数：rand()生成随机数，srand()设置种子，以及time()获取动态种子。通过取模运算可以控制随机数范围。游戏实现部分包含两个函数：menu()显示菜单，game()处理核心逻辑，生成1-100随机数并给予玩家5次猜测机会，根据输入提示&quot;大了&quot;或&quot;小了&quot;。程序使用do-while循环持续运行，直到玩家选择退出。该示例涵盖了基本输入输出、随机数生成、循环和分支结构，是C语言初学者的经典练习项目。]]></description><category></category></item><item><title><![CDATA[C语言第3讲：分支与循环的精妙运用，让代码更高效！]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/149150634</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/149150634</guid><author>NGEFF</author><pubDate>Sun, 06 Jul 2025 15:08:51 +0800</pubDate><description><![CDATA[本文系统介绍了C语言中的分支结构和循环结构。在分支结构方面，详细讲解了if、else、switch语句的使用方法，包括语法形式、嵌套使用和常见问题（如悬空else）。在循环结构方面，重点阐述了while、for、do-while三种循环的实现方式，以及break和continue在循环控制中的应用。此外，还介绍了关系运算符、逻辑运算符、条件运算符的使用技巧，并通过多个实例演示了如何利用这些控制结构解决实际问题。最后简要说明了goto语句的用法和使用场景。全文通过丰富的代码示例，帮助读者掌握C语言程序流程控制]]></description><category></category></item><item><title><![CDATA[第 2 讲：C 语言数据类型和变量入门指南，新手的福音！]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/149045156</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/149045156</guid><author>NGEFF</author><pubDate>Tue, 01 Jul 2025 15:33:34 +0800</pubDate><description><![CDATA[C语言拥有多种数据类型，以匹配现实中的多样化数据。整型用于表示整数，字符型用于表示单个字符，而浮点型则用于表示小数。数据的“类型”定义了数据的共性，编译器依据数据类型来确定如何处理数据。接下来我将为大家一一解释printf。]]></description><category></category></item><item><title><![CDATA[掌握 C 语言常见概念，从零开始编程之路！]]></title><link>https://blog.youkuaiyun.com/NGEFF/article/details/148824830</link><guid>https://blog.youkuaiyun.com/NGEFF/article/details/148824830</guid><author>NGEFF</author><pubDate>Mon, 23 Jun 2025 00:23:56 +0800</pubDate><description><![CDATA[C语言是一种广泛使用的计算机编程语言，由Dennis Ritchie于20世纪70年代在贝尔实验室开发。作为编译型语言，它需要通过编译器将源代码转换为可执行文件。C语言具有简洁高效的语法，既贴近硬件又支持复杂逻辑表达，在系统编程、嵌入式开发等领域应用广泛。文章介绍了C语言的基本概念、历史背景、编译器选择、程序结构（如main函数）、常用函数（如printf）、关键字、字符编码、字符串处理、转义字符、语句分类以及注释的重要性。作为许多现代编程语言的基础，C语言至今仍是计算机专业学习的核心内容，其高效性和灵活性]]></description><category></category></item></channel></rss>