自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

记录个人成长

用于记录学习

  • 博客(44)
  • 收藏
  • 关注

原创 LeetCode 274 H 指数 C 语言解题分析

本文分析LeetCode 274.H指数题中插入排序实现的缺陷,指出初版遗漏写回逻辑、改进版存在越界访问与返回值错误。核心结论:排序方向必须与判定条件一致(降序排列后用citations[i] >= i+1),否则无法正确求解。推荐使用降序插入排序或qsort配合正确判定逻辑,确保返回最大满足条件的论文数量h,而非引用次数或中位数。强调算法需区分“引用次数”与“论文数量”,避免语义混淆。

2026-10-24 17:55:27 196

原创 LeetCode 45 跳跃游戏 II C 语言解题分析

具体过程:i = 0 时,j = 0 得到 nums[0] - 0 = 2,best 变成 2,f 变成 0;当 i 走到 end,说明当前层已经扫描完,必须再跳一次,于是 s 加一,并把 end 推进到 best。整理版保留参考代码的算法,只做了两点改善:变量名直接表达含义,并删除了外层多余的 i 声明,避免内层 for 的 i 遮蔽外层变量。即使把比较式改成 j + nums[j],也不能只靠这一个改动解决问题:best 仍然需要按当前跳跃层重置,循环仍需要限制到数组末尾以内,并且要在到达终点时停止。

2026-10-24 17:02:08 215

原创 LeetCode 55 跳跃游戏 C 语言解题分析

本文分析跳跃游戏(LeetCode 55)的三种实现:初版逐零回溯、改进版优化但仍有缺陷,最终推荐贪心法。核心思想是维护当前最远可达下标 farthest,遍历中若 i > farthest 则不可达,否则更新 farthest = max(farthest, i + nums[i])。该方法时间复杂度 O(n),空间 O(1),正确处理边界如单元素、零值、恰好跳跃等,避免了回溯带来的 O(n²) 复杂度与逻辑错误。建议直接采用贪心实现以确保稳定性与效率。

2026-10-24 15:25:49 165

原创 Codewars:Rot13(C)解题分析

本文分析了C语言实现ROT13函数的完整过程,指出初版仅计算长度、第二版存在边界判断错误与非字母截断问题,最终版修正了关键缺陷:重置索引、正确处理大小写边界、保留非字母字符并显式添加终止符。推荐使用size_t、模运算和分配失败检查,提升代码安全性与可读性。最终版本在常规测试下通过,时间复杂度为O(n),空间复杂度为O(n),符合题目要求。

2026-10-18 22:07:44 204

原创 LeetCode 122:买卖股票的最佳时机 II(C)解题分析

题目122要求在无限次交易条件下最大化股票利润。用户代码误将问题理解为“最多两次交易”,通过分割数组枚举两段最大利润,但无法处理三次及以上交易,且存在“将价格当利润”等错误。正确解法应采用贪心策略:累加所有相邻正差值,即每天若价格上涨则买入卖出,等价于持有至波峰。该方法时间复杂度O(n),空间O(1),可覆盖任意多次交易,且逻辑简洁正确。

2026-10-18 18:23:56 91

原创 Codewars:Last digit of a large number(C)解题分析

本题要求计算大数幂 $ a^b $ 的个位数字,核心思路是:个位仅由 $ a $ 的个位决定,指数 $ b $ 仅需取模 4。通过扫描字符串边读边对 4 取模,避免处理超长整数。特殊处理 $ 0^0 = 1 $ 和底数为 0 的情况。使用二维查表法预存各数字循环规律,实现 $ O(|a| + |b|) $ 时间复杂度与 $ O(1) $ 空间复杂度,高效且正确。

2026-10-18 17:34:28 255

原创 LeetCode 121 买卖股票的最佳时机

本文分析了股票买卖问题的两版错误C代码及改进过程,指出第一版因错误预判单调递增数组导致返回0,且暴力枚举存在边界遗漏与超时问题。第二版虽修正部分逻辑,仍无法避免O(n²)复杂度。最终给出正确解法:一次遍历维护历史最低价与最大利润,时间复杂度O(n),空间O(1),满足大数据要求。强调易错点:漏第一天买入、未及时更新最低价、盲目使用暴力算法。

2026-10-16 13:48:43 139

原创 LeetCode 189 轮转数组 代码迭代分析文档(Markdown)

本文分析了轮转数组问题的三版手写C代码,指出迭代中常见的错误:变长数组赋值非法、下标公式偏移(多+1)、未取模导致越界及遗漏回写。最终优化为正确辅助数组解法,通过k %= numsSize和(i+k)%numsSize统一公式,实现逻辑清晰的O(n)时间、O(n)空间解法。进一步提出进阶的三次反转法,通过反转整个数组、前k个元素、后n-k个元素,实现原地O(1)空间复杂度,满足面试要求。对比表明,辅助数组法易懂但占内存,反转法高效且原地,推荐掌握。

2026-10-16 12:21:07 197

原创 常用排序算法选型与应用讲解

本文系统梳理七种常用排序算法:插入、快速、归并、堆、计数、桶、基数排序,从时间空间复杂度、稳定性、适用场景等方面进行对比分析。强调根据数据规模、分布特征、内存限制与稳定性需求综合选型:小规模用插入排序,通用场景选快速排序,需稳定选归并,内存受限选堆排序,整数范围小可用计数、桶或基数排序。建议工程中优先使用语言内置排序,手写仅用于学习与特殊场景。

2026-10-16 11:43:36 287

原创 80. 删除有序数组中的重复项 II

本文分析了LeetCode“Remove Duplicates from Sorted Array II”题目的C语言解法。第一版代码因指针未初始化、误用比较符、循环变量异常修改等问题无法正确运行。第二版虽通过标记冗余元素并二次压缩实现功能,但存在整数溢出风险与逻辑冗余。推荐使用双指针法:write指向下一个写入位置,仅当write < 2或当前元素不等于倒数第二个保留元素时写入,确保每个数字最多出现两次。该方法时间复杂度O(n),空间复杂度O(1),逻辑清晰,原地修改,符合题目要求。

2026-10-15 21:17:04 67

原创 Maximum Subarray Sum:C 语言代码分析

本文分析了三版求最大子数组和的C代码,指出其存在提前返回、未初始化变量、前缀和位置选择错误等严重问题。初版与改进版因return 0;导致逻辑失效,最终版虽修复部分边界但算法本质错误:误用全局极值前缀和,忽略顺序约束。正确解法应为Kadane算法或维护“此前最小前缀和”的前缀和思想。推荐实现以current = max(0, current + array[i])为核心,时间复杂度O(n),空间O(1),并强调变量初始化、类型安全与边界处理的重要性。

2026-10-15 17:00:21 157

原创 Codewars: Pine‘s Deaf Grandma(C)代码审查与解题分析

难度:Codewars 6 kyu语言:C代码来源:用户于 2026-10-15 在本对话中粘贴的三版实现分析日期:2026-10-15。

2026-10-15 15:19:19 155

原创 Deaf Grandma:C 语言三版代码分析

分析日期:2026-10-15。分析对象:用户提供的三个版本。。

2026-10-15 15:18:52 205

原创 LeetCode 27. 移除元素(C)解题分析

你的代码逻辑正确,能保留非val元素并保持顺序,但使用了int n[numsSize]导致额外空间为O(numsSize),违反题目O(1)空间要求。推荐改用双指针覆盖法:用p作为写指针,直接在原数组上重写保留元素,时间复杂度O(n),空间复杂度O(1),且代码简洁可读。

2026-10-15 00:09:47 249

原创 Codewars: A Brave New Wordle(C)解题分析

题目要求实现一个Wordle提示生成函数,核心难点在于处理重复字母的配额:绿色匹配优先,黄色匹配需从左到右且不超过答案中该字母出现次数。正确解法采用两阶段“消耗库存”策略:先标记绿色并标记已用位置,再逐个扫描非绿色猜测,从左到右匹配未使用答案字符。原代码存在未初始化读取风险,应先将hints初始化为'b',并使用独立的used数组标记消耗状态,避免依赖特殊字符如'1'。推荐使用bool used[5]的版本,语义清晰、安全可靠,符合C语言规范,且在固定长度5下性能足够。

2026-10-14 20:43:48 409

原创 LeetCode 88. 合并两个有序数组 C 解题分析

LeetCode88题要求原地合并两个有序数组。方法一错误地将0视为空位,导致逻辑错误且复杂度高达O((m+n)n);方法二采用逆向归并,从后向前比较并写入最大值,正确性与效率均优,时间复杂度O(m+n),空间复杂度O(1)。推荐使用简化三指针版本:从末尾开始,比较两数组尾部元素,将较大者填入nums1末尾,直至nums2全部合并。该方法避免覆盖未处理元素,且代码简洁高效。

2026-10-14 00:51:05 298

原创 Codewars Sum of a Sequence Hard Core Version C 解题分析

本题为等差数列闭式求和,核心在于避免循环。通过判断方向与边界,使用公式 $ S = n \times (a_0 + a_{n-1}) / 2 $,实现 $ O(1) $ 时间、$ O(1) $ 空间。难点在于整数溢出防护:需用 __int128 扩展中间计算,按奇偶性优先除法以避免溢出。递归与循环解法均因复杂度或溢出不可行。推荐闭式公式,结合宽类型与边界处理,确保大序列下正确高效。

2026-10-13 21:02:55 241

原创 无偿分享ChatGPT Image 2画图网页与并发绘图python程序【Ai绘图】

无偿分享ChatGPT Image 2画图网页与并发绘图python程序【Ai绘图】

2026-06-15 03:09:27 211

原创 Longest vowel chain_C++

可以避免复制字符,提高性能,尤其是在处理大型数据结构时。是一个对字符的常量引用。3.C++中std::string::npos。来访问字符串中的字符,但不能通过。‌在C++中用于获取字符串的长度,方法返回一个无符号整数。2.switch判断。

2024-12-08 13:14:46 590

原创 Retrieve The N-th String Term——C语言提高题

‘\0’会带来困扰,也会有便利。

2024-09-05 15:15:56 932

原创 Simple Fun #352: Reagent Formula——C语言提高题

简单的题也会让你有收获 Simple Fun #352: Reagent Formula

2024-09-04 23:56:51 591

原创 【图解版】Likes Vs Dislikes——C语言提高题【7 kyu】

Likes Vs Dislikes 槽点满满;

2024-09-04 21:25:53 705

原创 Two to One——C语言提高题【7 kyu】

Two to One 难度尚可 。利用桶思想,字符做差,字符与整形的转换。

2024-09-03 21:53:25 565

原创 codewars几道练手题,随带原题链接

【代码】codewars几道练手题,随带原题链接。

2024-09-03 19:31:00 429

原创 C练手题--Exclusive “or“ (xor) Logical Operator 【8 kyu】

Exclusive "or" (xor) Logical Operator 无难度

2024-09-01 21:50:02 650

原创 C练手题--Progressive Spiral Number Position 【7 kyu】

Progressive Spiral Number Position 难度低 略有意思

2024-08-31 22:57:05 618

原创 C练手题--A snail enters a bar! 【7 kyu】

A snail enters a bar! 【7 kyu】低难度

2024-08-31 22:07:50 465

原创 C练手题--Two Oldest Ages 【7 kyu】

Two Oldest Ages [7 kyu] 低难度

2024-08-31 21:44:00 468

原创 每题多学点——Wilson primes【C语言】

简单探讨求阶乘、整出判断。

2024-08-17 08:32:45 845

原创 每题多学点——DNA to RNA Conversion【C语言】(图解版)

原题链接。

2024-07-19 11:46:43 910

原创 每题多学点——Simple Fun #6: Is Infinite Process?【C语言】

采用分类讨论处理问题,浅谈bool有关问题,题目源于codewars平台Simple Fun #6: Is Infinite Process?一题,采用C语言编写。若能帮到你,我将十分荣幸,祝你C运昌隆。

2024-06-22 21:53:31 969

原创 每题多学点——Short Long Short【C语言】

简单探讨C语言关于字符串的strlen、strcpy、strcat函数,以及const char *有关问题,题目源于codewars平台Short Long Short一题,采用C语言编写。该题涉及字符串拼接、长度比较。若能帮到你,我将十分荣幸,祝你C运昌隆。

2024-06-22 14:34:20 1120

原创 每题多学点——Odd or Even?【C语言】

简单探讨动态申请空间后存入值的问题,以及size_t 数据类型,题目源于codewars平台Odd or Even?一题,采用C语言编写。该题设计char型指针函数返回、函数传入整型数组首地址后对数组各元素的遍历、奇偶判断。若能帮到你,我将十分荣幸,祝你C运昌隆。

2024-06-22 12:39:52 935

原创 每题多学点——Which are in?【C语言】

总结在Which are in?一题中,学到的知识或遇到的问题。重点理解题意,从高位到低位求各位数值。

2024-06-21 23:38:41 876

原创 每题多学点——Descending Order【C语言】

关于uint64_t关键字、以及常见排序算法的高质量视频或文章,总结在Descending Order一题中,学到的知识或遇到的问题

2024-06-20 16:19:32 808

原创 每题多学点——Binary Addition【C语言】

用于记录了,在codewars平台刷C语言题目,一些思路、知识点,若能帮到你,我将不胜荣幸。--每题多学点【C寓言编程提高训练】

2024-06-20 09:30:00 710

原创 每题多学点——Reverse words【C语言】

1.循环需注意是否存在死循环,这很重要。2.进行复制字符串的操作时,通过“\0”进行封堵,有时很重要。3.处理问题换个思路,有时真的可以豁然开朗,大大降低问题难度。4.申请动态地址时,需要强制类型转换;并且,为避免使用时地址越界,可适当增加申请的地址大小。5.指针检测是否读到最后,印象中有*text!=NULL和*text!='\0',此处不太确定,留作探讨研究。

2024-06-17 00:12:34 775

原创 每题多学点——Two Sum 【C语言】

该题最大难度在于题目不易理解,通过搜索到类似题目,可极大降低理解难度。

2024-06-15 22:09:28 546

原创 每题多学点——Count Digits 【Python】

(参考链接python中的isdigit()函数的用法_python中isdigit函数怎么用-优快云博客法3就用到此方法m='c'

2024-05-08 11:39:05 1179 1

原创 每题多学点——Complementary DNA 【C语言】

C寓言编程提高训练。

2024-05-08 08:23:55 2136 1

Android课程设计作品

含有:源码、app、word版作品详细介绍

2024-09-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除