自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 删除数组中重复项

本文介绍了一种使用双指针法原地移除有序数组中重复元素的方法。针对非严格递增排列的数组,定义快慢指针:快指针遍历数组,慢指针标记唯一元素位置。当快指针发现新元素时,将其复制到慢指针位置并移动两个指针。算法时间复杂度为O(n),空间复杂度为O(1)。最终返回唯一元素的数量k,前k个元素即为去重后的有序数组。

2025-11-04 22:13:38 211

原创 移除数组元素(不是删除)

摘要:本文介绍原地移除数组中指定值的双指针解法。通过维护快慢指针(right和left),当快指针指向非目标值时将其复制到慢指针位置并同时移动,否则仅移动快指针。最终慢指针位置即为新数组长度。该算法时间复杂度O(n),仅需常数空间。

2025-11-04 21:19:30 210

原创 合并两个有序数组

摘要:本文提出两种合并两个已排序数组的算法。解法1使用双指针法,从数组尾部开始比较元素,将较大值依次放入结果数组末尾,时间复杂度O(m+n)。解法2直接将nums2元素添加到nums1末尾后进行整体排序,时间复杂度O((m+n)log(m+n))。两种方法都能将nums2合并到nums1中并保持有序状态。

2025-11-03 23:26:41 114

原创 矩阵乘法(三重循环计算)

本文介绍了矩阵乘法的实现方法。矩阵乘法要求第一个矩阵的列数与第二个矩阵的行数相同。程序通过三重循环计算:外层循环遍历结果矩阵的行,中层循环遍历列,内层循环进行点积运算(对应元素相乘再求和)。输入时先指定矩阵行列数,再输入矩阵元素,最终输出乘积矩阵。示例代码展示了如何用Java实现这一过程,其中三重循环分别对应结果矩阵的行、列遍历和元素计算。

2025-09-27 19:36:22 367

原创 大整数读取与存储

本文介绍了大整数存储方法。由于基本整型(int/long)存在数值范围限制,当处理超大整数时,可采用数组存储方案:1)将数字每位拆解存入数组;2)数组索引0对应个位,依次递增;3)未使用位置设为-1。通过字符串读取输入并反向转换为数字数组,最后从数组尾部到头部输出所有元素。示例代码演示了如何实现100位以内大数的存储与逆向输出功能。

2025-09-25 20:48:33 452

原创 有限状态机之开心的蜗牛

摘要:本文介绍了有限状态机的概念及其应用。通过人的状态和开心的蜗牛两个示例,说明如何使用有限状态机建模对象行为。重点讲解了蜗牛在01串上行走时发出笑声的状态转换规则,并提供了Java实现代码。该程序根据输入字符串中的001模式触发蜗牛的笑声,连续遇到1时会持续发出哈声,直到遇到0为止。测试用例'00011010010001'的输出为:哈哈哈哈。

2025-09-17 20:11:31 143

原创 批量打印 ASCII 码

摘要:该程序要求用户输入两个整数作为ASCII码范围,输出该范围内所有字母字符及其十进制编码。关键点在于正确处理字母范围(A-Z:65-90,a-z:97-122),跳过非字母区域(91-96)。程序通过边界判断确保输出范围有效,并按顺序逐行输出每个字母的ASCII码和对应字符,格式为"十进制码 字符"。注意处理输入范围超出字母表的情况。

2025-09-16 19:27:08 145

原创 输出年份生肖

摘要:该程序通过年份计算对应生肖,采用模12运算处理公元前后年份。关键点在于使用(year%12+12)%12公式统一计算余数,确保公元前年份也能正确匹配。程序以1990年(鼠年,余数4)为基准,通过switch-case结构输出12生肖。测试代码演示了从用户输入获取年份并输出生肖的完整流程,适用于包括公元前在内的所有整数年份。

2025-09-15 21:32:11 233

原创 八大排序:(二)希尔排序

摘要:希尔排序是基于直接插入排序的改进算法,通过间隔分组和多次排序实现优化。其核心流程是:先以大间隔分组并进行插入排序,随后逐步缩小间隔直至为1。代码实现中,通过预定义增量序列完成多趟排序。示例代码展示了希尔排序从初始化、排序到输出的完整过程。该算法时间复杂度优于简单插入排序,但属于不稳定排序算法。

2025-07-18 10:38:42 195

原创 八大排序:(一)插入排序

摘要: 直接插入排序是一种简单的排序算法,通过将每个元素插入到已排序部分的正确位置来实现排序。其核心思想是从当前位置向前查找,将较大元素后移,最后插入当前元素。该算法在接近有序的数据上效率较高,最优时间复杂度为O(n),平均时间复杂度为O(n²)。实现代码展示了如何通过嵌套循环完成排序过程。该算法特别适合处理基本有序的数据集。

2025-07-18 09:47:03 94

原创 C语言·数字逆序输出和顺序输出

C语言·数字的逆序输出和顺序详细讲解

2024-03-31 19:31:40 1277 1

原创 新的征程 开始吧!

身处在一个轻松舒适的大学环境下,我们非常容易迷失自我,也会因此感到迷茫和不知所措。当下社会竞争如此激烈,我们应当拥有属于自己的明确目标。作为一名计算机专业的大一新生,我应当为我的目标做出行动。未来的旅途充满着未知,我们都是憧憬和又害怕。

2024-01-16 20:30:54 433

空空如也

空空如也

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

TA关注的人

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