自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Day9字符串2

【代码】Day9字符串2。

2025-03-21 10:18:15 220

原创 Day8字符串1

很简单的一道题。

2025-02-28 09:45:50 127

原创 【C语言】快速排序

函数,详细内容参考该链接:https://blog.youkuaiyun.com/weixin_62708596/article/details/145772659?

2025-02-21 15:46:36 102

原创 Day7哈希表2

函数的用法以及快速排序的自定义实现。这道题目的解题步骤就是采用排序加双指针,先给数组进行排序,然后从数组的第一个元素开始遍历,直到倒数第三个数结束,每一轮循环初始,定义两个指针,分别指向该轮循环元素后面的数组的起始和结束位置,然后收缩窗口直到满足题目。使用hashtable来解决问题,当然有更简单的方式,就是用一个长度为26的数组来模拟,先训练一下使用uthash库。这道题的解题方式就是把四个数组分成两个部分,两层循环遍历。在做这道题目的时候,去学习了C语言头文件。值的和的数量,然后双层循环遍历。

2025-02-21 15:39:07 386

原创 【学习记录】C语言库函数qsort( )使用

qsort是stdlib.h。

2025-02-21 11:12:35 219

原创 【学习记录】uthash

uthash提供了丰富的HASH相关宏,涵盖了哈希表的常见操作(如添加、查找、删除、遍历等)。通过灵活使用这些宏,你可以高效地管理 C 语言中的哈希表。

2025-02-20 16:31:45 722

原创 Day06哈希表1

虽然是道简单题,但是题目中有很多隐含的条件,比如四位数以上的数的下一个数字会不断收敛,直到收敛到三位数,而三位数的下一位数最大是243,所以对于任何一个数,他执行下去不会无限制地变大,因此只有两种情况,要么陷入循环(用数学思维去解答的话,这个循环只有一个。之间,最大是十位数,平方和最大不会超过810,所以我们令hashset的大小为810(还可以更小),每一轮循环往hashset中添加值,如果发现重复的值,说明陷入循环,x变成1便跳出循环,说明这个数是快乐数。),要么执行下去变成了1即这个数是快乐数。

2025-02-19 16:19:13 195 1

原创 【学习记录】C语言双重指针

在C语言中,双重指针(或者说指针的指针)是指指向另一个指针的指针。

2025-02-19 11:05:16 227

原创 Day04链表2

使用快慢指针来解决,并设置一个虚拟节点,在题目中保证需要删除的节点下标小于链表大小的情况下,减少了判断次数。(虚拟节点确实好用,链表的头结点不是空无用处)采用双指针解决,设链表A的长度为a+c=m,链表B的长度为b+c=n,pA和pB一起移动,存在几种情形。采用哈希表的方式空间复杂度较高,不过思路要简单许多,二刷时采用两种方式都做一遍。使用迭代的方法实现两两交换链表中的节点,创建了一个虚拟节点。每轮走1步,执行后有以下情形(设链表中非环的部分长度为。采用该种方式解决问题需要数学知识的应用,时间复杂度为。

2025-02-18 18:00:47 310

原创 Day03链表1

设置前驱指针和后继指针,依次向后移动,最后一次移动后,头结点指针移动到链表末尾,但头结点和前驱节点的关系未建立,循环结束后使头节点下一个节点指向前驱结点。单向链表,注意定义结构体和指针的区别,注意添加或者删除时的界限问题。,若没有虚拟头节点,需要对头节点单独判定,不断删除值为。算法小缺点,未能释放删除的头节点值。,对其后面的链表节点进行判定,最后返回。采用递归的方法来解决。采用迭代的方法来解决。设置了一个虚拟头节点。

2025-02-18 11:20:58 311

原创 Day02数组2

算法原理是模拟矩阵的形成,从外到内生成矩阵,除此之外需要注意的点是,矩阵长度为奇数时中间数值不能在循环中赋值,以及初始化矩阵的步骤。,在此过程中同样更新子数组的最小长度,在每一轮迭代的最后,将。采用滑动窗口的思想来解决问题,定义两个指针。分别表示子数组开始和结束的位置,维护变量。存储子数组中的元素和,每一轮迭代,都将。则更新子数组最小长度,然后将。从sum中减去,并将。

2025-02-17 14:32:25 214

原创 Day01数组1

20250214,704二分查找,27移除元素,977有序数组排序

2025-02-14 10:12:28 201

原创 【学习记录】Fuzzer

正如其名,此类Fuzzer工具的输入数据,依赖于安全人员结合自己的知识,给出输入数据的模板,构造丰富的输入测试数据。上面的Fuzzer方式虽然能够发现一些错误,但是由于猴子产生的输入实在太过随机,大部分的输入都是不合法的,这些不合法的数据往往会被目标程序识别而丢弃(比如,对于不符合通信协议规范的数据包,接收方会直接过滤掉)。同样是产生非预期的输入,基于变种的Fuzzer不再是胡乱的产生输入,而是在已知合法的输入的基础上,对该输入进行随机变种或者依据某种经验性的变种,从而产生不可预期的测试输入。

2025-02-14 09:00:27 765

原创 哈工大服务科学与工程期末考试2023秋

哈工大服务科学与工程期末考试2023秋,考试内容全部是PPT上的概念,答案都能在课间上找到,不得不说概念太多真的是记不全啊,不过徐老师很好,你只要认真复习都不会挂科的

2023-11-24 19:12:44 138 1

原创 Java的特性之一——封装

封装作为Java的一大特性,对于提高程序的安全性具有巨大的作用,是防止表示暴露的重要方法之一。可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。-创建getter和setter方法用于属性的读写:通过这两种方法对数据进行获取和设定,对象通过调用这两种发方法实现对数据的读写。在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来对隐藏的信息进行操作和访问。在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来对隐藏的信息进行操作和访问。隐藏类的实例细节,方便修改和实现。

2023-05-26 20:39:29 429 1

原创 git的常用指令

git常用操作

2023-05-23 17:37:04 134 1

原创 Software Development Lifecycle(SDLC)软件开发生命周期

软件开发生命周期(SDLC)是开发团队用来设计和构建高质量软件的高性价比、节省时间的过程。SDLC 的目标是通过前瞻性的规划将项目风险降到最低,从而使软件不论是在在生产过程中,还是长远而言都能满足客户的期望。此方法概述了将软件开发过程划分为可以分配、完成和度量的任务的一系列步骤。

2023-05-23 16:47:48 604 1

原创 Mac上安装python

在Mac上安装python

2023-05-07 17:18:48 858 1

原创 IDEA for Mac配置JUnit 生成测试代码

IDEA中配置Junit生成测试代码

2023-02-26 16:18:45 881 1

空空如也

空空如也

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

TA关注的人

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