自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣算法-Day22

想一下,我们将整个字符串都反转过来,那么单词的顺序指定是倒序了,只不过单词本身也倒序了,那么再把单词反转一下,单词不就正过来了。中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。这一期专栏记录将我每天的刷题,希望各位的监督,也希望和各位共勉。如果字符串在你使用的编程语言中是一种可变数据类型,请尝试使用。中使用至少一个空格将字符串中的。之间用单个空格连接的结果字符串。是由非空格字符组成的字符串。

2024-01-29 20:00:00 371

原创 力扣算法-Day21

给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anumberbnumbercnumber"。从后向前填充元素,避免了从前向后填充元素时,每次添加元素都要将添加元素之后的所有元素向后移动的问题。很多数组填充类的问题,其做法都是先预先给数组扩容带填充后的大小,然后在从后向前进行操作。双指针:right指向新长度的末尾,left指向旧长度的末尾。好处:不用申请新数组。

2024-01-28 20:00:00 457

原创 力扣算法-Day20

这一期专栏记录将我每天的刷题,希望各位的监督,也希望和各位共勉。,从字符串开头算起,每计数至。

2024-01-27 20:00:00 599

原创 力扣算法-Day19

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组。这一期专栏记录将我每天的刷题,希望各位的监督,也希望和各位共勉。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。思路:因为必须原地修改数组,所以不能使用额外的空间。、使用 O(1) 的额外空间解决这一问题。不要给另外的数组分配额外的空间,你必须。双指针:循环的条件(右边的大于左边的)

2024-01-26 21:24:45 357

原创 力扣算法-Day18

三数之和 可以通过 nums[i] > 0 就返回了,因为 0 已经是确定的数了,四数之和这道题目 target是任意值。四数之和的双指针解法是两层for循环nums[k] + nums[i]为确定值,依然是循环内有left和right下标作为双指针,找出nums[k] + nums[i] + nums[left] + nums[right] == target的情况,三数之和的时间复杂度是O(n^2),四数之和的时间复杂度是O(n^3)。这一期专栏记录将我每天的刷题,希望各位的监督,也希望和各位共勉。

2024-01-25 22:18:53 259

原创 力扣算法-Day17

接下来如何移动left 和right呢, 如果nums[i] + nums[left] + nums[right] > 0 就说明 此时三数之和大了,因为数组是排序后了,所以right下标就应该向左移动,这样才能让三数之和小一些。如下图:拿这个nums数组来举例,首先将数组排序,然后有一层for循环,i从下标0的地方开始,同时定一个下标left 定义在i+1的位置上,定义下标right 在数组结尾的位置上。整体寻找三数之和的代码比较容易的,最重要的还是去重的操作。双指针:首先要将nums数组进行排序。

2024-01-23 22:51:40 1014

原创 ZZULI-新冠疫苗接种信息管理系统

设计并实现一个新冠疫苗接种信息管理系统(假设该系统面向需要接种两剂的疫苗)。要求定义一个包含接种者的身份证号、姓名、已接种了几剂疫苗、第一剂接种时间、第二剂接种时间等信息的顺序表,系统至少包含以下功能:(1)逐个显示信息表中疫苗接种的信息;(2)两剂疫苗接种需要间隔14~28天,输出目前满足接种第二剂疫苗的接种者信息;(3)给定一个新增接种者的信息,插入到表中指定的位置;(4)分别删除指定位置和给定接种者身份证号的接种者记录信息;(5)利用直接插入排序或者折半插入排序按照身份证号进行排序;

2024-01-03 14:15:16 1155

原创 力扣算法-Day16

哈希表:C语言用哈希表去解决一些问题太麻烦了。只能自己动手先实现想要的数据类型。与“有效的字母异位词”很像,做法是相同的。不太理解的还请去看前几篇。这一期专栏记录将我每天的刷题,希望各位的监督,也希望和各位共勉。暴力循环: 最直接也是最容易想到的。直接四层for循环。,请你计算有多少个元组。

2023-12-30 23:14:52 378

原创 力扣算法-Day15

因为不仅要使用对应的数值,还需要使用下标(最后需要返回)。在哈希表中插入和查找的时间复杂度通常是 O(1),因此整体的时间复杂度为 O(n)。C 语言本身没有提供内置的哈希表数据结构的,需要自己动手实现。我们遍历到数字 a 时,用 target 减去 a,就会得到 b,若 b 存在于哈希表中,我们就可以直接返回结果了。若 b 不存在,那么我们需要将 a 存入哈希表,好让后续遍历的数字使用。时间复杂度为O(n^2),这样的代价无疑是很大的。这一期专栏记录将我每天的刷题,希望各位的监督,也希望和各位共勉。

2023-12-29 23:20:19 401 1

原创 利用C语言实现set——手搓set

在 C 语言中,可以使用数组来手动实现 Set(集合)的功能。具体来说,以下是一种简单的在 C 语言中手动实现 Set 的方法:一、定义数组来存储set元素首先,定义一个数组来存储 Set 的元素。数组中的每个元素代表一个 Set 中的值。假设我们设置一个最大容量为MAX_SIZE的 Set,可以声明一个数组来存储元素:

2023-12-28 22:59:28 750

原创 力扣算法-Day14

初始化:慢指针、快指针都为 n。如果遇到无限循环的数字,这两个指针一定会相遇。这个时候,相遇的时候快慢指针如果指到的数字为1。这个时候循环结束,返回 true(这个时候慢指针走完一轮、快指针一直为1)。否则返回 false。递归:终止条件——n = 1的时候返回true,n = 4 的时候返回false。10以内的数字只有4是不断的循环的。这里所说的向前走一步是 “对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和”这个意思。这一期专栏记录将我每天的刷题,希望各位的监督,也希望和各位共勉。

2023-12-28 22:47:37 620

原创 力扣算法-Day13

那时间复杂度O(m*n)。显而易见的,都会想到用两个循环去寻找寻找公共集合。如果m、n比较大的话,效率是比较慢的。这一期专栏记录将我每天的刷题,希望各位的监督,也希望和各位共勉。输出结果中的每个元素一定是。哈希表能解决什么问题呢,

2023-12-27 23:41:51 351

原创 力扣算法-Day12

排序:t 是 s的异位词等价于「两个字符串排序后相等」。因此我们可以对字符串 s 和 t分别排序,看排序后的字符串是否相等即可判断。此外,如果 s和 t 的长度不同,t 必然不是 s的异位词。而且这道题目中字符串只有小写字符,那么就可以定义一个大小为26的数组,来记录字符串s、t里字符出现的次数。s中字符出现一次,对应的索引++;t中字符出现一次,对应的索引--;给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。这一期专栏记录将我每天的刷题,希望各位的监督,也希望和各位共勉。

2023-12-26 23:30:40 395

原创 链表总结篇

链表的理论基础链表的种类主要为:单链表,双链表,循环链表链表的存储方式:链表的节点在内存中是分散存储的,通过指针连在一起。链表是如何进行增删改查的。数组和链表在不同场景下的性能分析。链表经典题目虚拟头结点链表的一大问题就是操作当前节点必须要找前一个节点才能操作。这就造成了,头结点的尴尬,因为头结点没有前一个节点了。每次对应头结点的情况都要单独处理,所以使用虚拟头结点的技巧,就可以解决这个问题。链表的基本操作力扣707.设计链表这是练习链表基础操作的非常好的一道题目,考察了:获

2023-12-25 23:52:13 347

原创 力扣算法-Day11

题意: 给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回 null。为了表示给定链表中的环,使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。:不允许修改给定的链表。返回索引为 1 的链表节点链表中有一个环,其尾部连接到第二个节点。返回 null链表中没有环。

2023-12-24 21:49:26 341

原创 力扣算法-Day10

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,6,1,8,4,5], skipA = 2, skipB = 3输出:Intersected at '8'解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表

2023-12-23 23:42:36 960

原创 力扣算法-Day9

如果要删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。删掉slow所指向的节点就可以了。给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。首先找到链表的长度、再去寻找倒数第n个节点去删除。这一期专栏记录将我每天的刷题,希望各位的监督,也希望和各位共勉。进阶:你能尝试使用一趟扫描实现吗?

2023-12-22 23:59:52 356

原创 ZZULI-医院导航系统

请设计一个简单的医院导航系统,该医院主要有以下部门:门诊部(A)、住院部(B)、急诊部(C)、药房(D)、收费室(E)、化验室(F)、放射科(G)、手术室(H)、B超室(I)、行政楼(J),各部门之间的路径及距离如图1所示。要求:(1)请利用C/C++/Java语言定义数据类型;(2)请利用邻接矩阵或邻接表创建带权图,以表示该医院各部门之间的关系;(3)提供各部门信息查询,如输入“急诊部”,显示“急诊部”相关信息的介绍;(4)输入任意部门A和部门B的名称,为患者提供从A到B的最短路径|。

2023-12-22 00:33:54 898

原创 力扣算法-Day8

时间复杂度:O(n)空间复杂度:O(1)如果只是把节点中的值翻转一下就很简单,就可以简单交换一下值。这个题目需要我们反转一下节点。这一期专栏记录将我每天的刷题,希望各位的监督,也希望和各位共勉。追光的人,终会光芒万丈!!

2023-12-21 00:00:07 394

原创 力扣算法-Day7

好了,今天就到这里!如果你可以动动手指画个图就会非常容易的理解这道题目!这一期专栏记录将我每天的刷题,希望各位的监督,也希望和各位共勉。追光的人,终会光芒万丈!!

2023-12-19 22:07:44 425

原创 力扣算法Day-6

如果使用不带头链表的话,无论是插入元素还是删除元素都要讨论,并且里面还有一个很大的抗,比如修改头结点的时候,需要得到指针的地址的地址MyLinkedList**,这样才能修改,如果没有注意的话,提交是通不过的。因为别名MyLinkedList是在结构体定义结束后才可以识别的一个别名;这一期专栏记录将我每天的刷题,希望各位的监督,也希望和各位共勉。如果在这个struct定义里面,直接把next指针定义为。所以在结构体里面,是不认识这个别名的。都是一些基本的操作。

2023-12-18 23:57:53 331

原创 力扣算法Day-5

示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5]或者把malloc一个新的节点,设置为头节点。这样的话就不需要分情况操作了。示例 3: 输入:head = [7,7,7,7], val = 7 输出:[]示例 2: 输入:head = [], val = 1 输出:[]这一期专栏记录将我每天的刷题,希望各位的监督,也希望和各位共勉。如果头节点需要删除的话,需要单独写一部分删除头结点的代码逻辑。,请你删除链表中所有满足。给你一个链表的头节点。

2023-12-17 22:28:22 345 1

原创 数组总结篇-Day4

从⼆分法到双指针,从滑动窗⼝到螺旋矩阵。一步一个脚印,真的好好用心做一定有所收获的。今天有点水。下期主要就是链表的题目了,一起加油。共勉!!

2023-12-16 23:02:46 443 1

原创 力扣算法-Day3

输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。这个是我没有想到的,居然真的有人纯暴力解出来了。因为题目说了n的范围。这一期专栏记录将我每天的刷题,希望各位的监督,也希望和各位共勉。这道题目不涉及什么算法,纯纯模拟过程。主要要掌握各种边界问题。由外向内一圈一圈这么画下去。

2023-12-15 22:35:46 405

原创 力扣算法-Day2

给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100],排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121]思路:1.暴力解决:把全部的元素先进行平方,最后排序(冒泡...)

2023-12-14 22:26:58 387 1

原创 力扣算法-Day1

示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。示例 2: 给定 nums = [0,1,2,2,3,0,4,2], val = 2, 函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。代码实现:(双指针)

2023-12-13 23:44:35 382 1

原创 ZZULI_哈夫曼编码

一个单位有12个部门,每个部门都有一部电话,但是整个单位只有一根外线,当有电话打过来的时候,由转接员转到内线电话,已知各部门使用外线电话的频率为(次/天):5 20 10 12 8 43 5 6 9 15 19 32。利用哈夫曼树算法思想设计内线电话号码,使得接线员拨号次数尽可能少。要求:(1)依据使用外线电话的频率构造二叉树;(2)输出设计出的各部门内线电话号码。主要利用曼编码来设计内线电话号码,以达到拨号次数尽可能少的目的。

2023-12-02 11:17:14 502

原创 ZZULI_实现一个简单的计算器(二叉树的性质)

实现一个简单的计算器。通过键盘输入一个包含圆括号、加减乘除等符号组成的算术表达式字符串,输出该算术表达式的值。要求:(1)系统至少能实现加、减、乘、除等运算;(2)利用二叉树算法思想求解表达式的值,先构造由表达式构成的二叉树,按中序、后序遍历的方式输出二叉树中的结点,然后再利用通过对二叉树进行后序遍历求解算术表达式的值。使用栈来实现中序表达式转后序表达式。

2023-12-02 00:52:33 565

原创 ZZULI_实现一个简单的计算器(双栈)

实现一个简单的计算器,输入一个算术表达式,其运算符包含圆括号、加、减、乘、除、求余等符号,输出该算术表达式的值。要求:(1)系统至少能实现加、减、乘、除、求余等运算;(2)利用栈的后进先出特性实现;首先实验要求的前提是我们能够深度的理解栈的特性,利用这个特性去设计程序。在计算器的实现中,可以利用栈的特性来处理运算符和操作数。以下是一个简单的实现思路:创建两个栈,一个操作数栈(operand stack),用于存储数字,另一个运算符栈(operator stack),用于存储运算符。

2023-11-17 17:04:22 370 1

原创 ZZULI-学生信息管理系统(链表)

实验任务:利用链表实现一个简单的学生信息管理系统:(1)学生信息包括学号、姓名、性别、年龄、电话号码、所学专业、班级等;(2)系统的主要功能包括:学生信息的创建、输出学生信息、查询学生信息、增加学生信息、删除学生信息。每当写一个程序的时候,我们大脑中首先要有一个基本的轮廓。只要大体方向确定我们就可以根据这个方向去一点点完善。以下是本次设计的大致轮廓:(有不太合适的请大佬指正)学生信息结构体设计:定义一个包含以上要求信息的结构体;

2023-11-11 20:00:17 345 1

原创 Module ‘Yang‘ production: java.lang.ClassCastException: class org.jetbrains.jps.builders.java.depend

✅简介:与大家一起加油,希望文章能够帮助各位!!!!💬保持学习、保持热爱、认真分享、一起进步!!!今天运行代码的时候发现忽然运行不了,搜了百度才知道如何解决:错误详情:Module 'Yang' production: java.lang.ClassCastException: class org.jetbrains.jps.builders.java.dependencyView.TypeRepr$PrimitiveType cannot be cast to class org

2023-07-31 21:01:33 198 1

原创 二叉树的遍历方式——递归与非递归

定义了一个结构体类型BiNode,包含节点的值、左子树和右子树三个成员变量;同时,定义了指向结构体类型BiNode的指针类型BiTree。代码如下:下面结构体里面的value不一定非要是int类型,可以是任意类型。int value;对于二叉树的遍历问题,递归方式通常更简洁,可读性更好,更容易去理解;非递归方式则具有更小的空间开销和更高的效率。具体使用哪种方式可以根据实际需求、问题规模和性能要求来选择。以后也会持续更新!!!成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。

2023-07-30 12:28:05 628 1

原创 C语言——链表(带头节点与不带头节点)

链表是一种常见的线性数据结构,它由一系列的节点组成,每个节点包含两部分:数据和指向下一个节点的指针。每个节点可以在内存中不连续地分布,通过指针将它们串联在一起。下面呢,进入正题!!!首先呢,我们先看这张图!这是带头节点,带头节点的链表是在链表头部添加了一个额外的节点,该节点不存储任何数据,只是作为链表的起始位置。带头节点的链表中,头节点的下一个节点才是实际存储数据的第一个节点。

2023-07-18 00:24:24 1256 1

原创 C语言——动态数组的实现

从字面意思上理解是:可变的数组。但是这种理解真的对吗?我们知道,数组一旦被创建就是固定的,那为什么还会有动态数组这个东西呢?动态数组之所以叫做动态数组,并不是因为数组可变,而是我们创建了一个新的数组,再原有数组的基础上扩容,再把原本的数据copy到新数组中。

2023-07-16 17:43:59 359 2

原创 如何往数据库中添加数据及如何导出数据库中的数据

添加数据首先要做的是从文件中读取数据(主语是”程序“),"读"----告诉我们应该用Readerh或者InputStream流,而我们的数据中存在中文,就不能用InputStream流来读取文件了,因为他是字节流,在读取文件的时候是一个字节(八个比特)-----0101 1011----这样读取的,首位必须是0,也就是说一个字节只可以表示2^8-1=127中字符,相信你们现在脑子里面肯定会想到ASCII表,当然你们是对的,这127种字符刚好对应ASCII表上面的值。再连接数据库进行插入,最后不要忘记关流。

2023-06-06 19:29:25 274

原创 对任意类型的文件加密小技巧

相信大多数人都有了解,计算机中存储文件的方式实际上是将文件中的二进制数据存储在磁盘或其他的存储设备中。最基本的存储单位是位(bit),也是计算机中最小的信息单位,每一位只能表示0或1的二进制数据。加密的时候只能一个字节一个字节的进行读取,为了高效的进行这里使用了缓冲区,减少了从磁盘读取的时间。11 对应的二进制为 0 0 0 0 1 0 1 1。就变成了原来储存的字节了 0 1 1 0 0 1 0 0。在进行一次相同的操作 0 0 0 0 1 0 1 1。

2023-05-26 19:58:21 65 1

原创 zzuli 实验三 数据库编程

(3)修改表中记录:查询条件id=2,将name修改为:王杰,修改完毕显示所有记录;(1)向表中增加记录并显示增加后的所有记录(新增记录的具体数据自定);2. 设计图形用户界面,通过事件处理实现学生数据管理功能。(2)从表中删除id=1的记录,并显示删除后的所有记录;,在程序运行时用户可以根据相应的提示信息进行操作。3. 用恰当的方法处理可能出现的异常。(4)查询表中id=3的记录并显示。二. interfaceJFrame。程序要添加适当的注释,程序的。程序也能适当地做出反应,如。,即当输入数据非法时,

2023-05-20 00:09:46 436

原创 梅科尔工作室-王阳阳-鸿蒙笔记3

.

2023-02-05 20:42:45 112

原创 梅科尔工作室-王阳阳-鸿蒙笔记2

使用objectFit属性设置图片的缩放类型,objectFit的参数类型为ImageFit。Cover(默认值):保持宽高比进行缩小或者放大,使得图片两边都大于或等于显示边界。Contain:保持宽高比进行缩小或者放大,使得图片完全显示在显示边界内。Image组件支持加载网络图片,将图片地址换成网络图片地址进行加载。Text组件用于在界面上展示一段文本信息,可以包含子组件Span。Fill:不保持宽高比进行放大缩小,使得图片充满显示边界。ScaleDown:保持宽高比显示,图片缩小或者保持不变。

2023-02-03 21:28:31 504

原创 梅科尔工作室-王阳阳-鸿蒙笔记1

.

2023-02-01 22:13:32 103

空空如也

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

TA关注的人

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