- 博客(14)
- 收藏
- 关注
原创 重新学一遍的qt
信号与槽的定义:一个对象发送一个信号出去,另外一个对象接收到该信号后,会触发相应的槽函数。connect(信号的发送者,SIGNAL(信号名称),信号的接收者,SLOT(槽函数));//QT 5的写法connect(信号的发送者,&信号所在的类名::信号名称,信号的接收者,&接收者的类名::槽函数);槽函数的使用1.在.h文件中需要接收信号的类中 声明槽函数//声明槽函数2.在xxx.cpp 中实现槽函数 ,在.h文件右击构建即可转到cpp文件中。
2024-08-23 22:11:34
514
原创 Day 05 反转链表
这种写法利用了指针在条件判断中的隐式转换,即指针在条件判断中会被自动转换为布尔类型,如果指针不为空,则条件为真,循环继续;如果指针为空,则条件为假,循环结束。这个里面我其实有个不懂的地方就是为啥while(cur),这个地方疑惑了好久。我想的是应该遍历完整个链表,知道指向空结束。看到这个题目的时候我感觉还是很简单的,根据前面所学的双指针来解决就会很简单,就是下一个节点指向前一个节点,这样就完成反转。这样的条件语句通常用于循环遍历链表(或其他数据结构)直到当前节点。,请你反转链表,并返回反转后的链表。
2024-03-21 21:56:05
256
1
原创 Day 05 删除链表元素
看到这个题目,首先进行分析,链表投元素是否为0同时还要判断一下,链表头元素是否是我们需要删掉的那个元素 之后从新设置一个指针进行遍历链表的元素,如果等于要删掉的元素,则该元素需要指向下一个next。这个方法更加简单,就是不容易想到,它主要针对了链表的头元素的问题,建立一个虚拟头节点,然后指向head,建立新的指针开始进行遍历链表元素。从而完成的就是上个代码的后半部分。注意链表的删除和数组中元素的删除不一样,链表每个元素包含两个部分 ,删除就是让前一个指针指向下一个数组。但是代码随想录中给出了更简单。
2024-03-20 22:02:49
255
1
原创 Day04 翻转字符串里面的单词
中的多余空格,并在相邻单词之间保留一个空格。利用快慢指针的思想,遍历整个字符串,当遇到非空格字符时,将其添加到新字符串的末尾,并在单词之间添加一个空格。最后通过修改字符串的大小来去除多余空格。但是这样的后果只是进行了字母之间的反转,并不是单词,所以我们还要通过单词间的空格来进行单词的正调。接着根据空格分隔单词,分别对每个单词进行翻转,最终得到反转顺序后的字符串。通过这个方式,我们进行了转换,跟之前的反转字符串有点类似,通过双指针。是由非空格字符组成的字符串。函数去除多余空格,然后调用。
2024-03-18 22:03:45
250
原创 Day04 替换数字
题目:给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anumberbnumbercnumber"。自定义了一个函数replaceDigitsWithNumber,然后遍历字符串中的每个字符,如果是数字字符,则使用replace函数替换成number,最后返回替换后的字符串。开始,替换长度为 1 的字符(即当前位置的数字字符)为字符串 "number"。
2024-03-18 20:28:36
222
原创 Day04 反转字符串
其实这个可以用swap这个库函数,但是我一般喜欢直接用,而不是调用swap函数。编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组。、使用 O(1) 的额外空间解决这一问题。不要给另外的数组分配额外的空间,你必须。这个就比较简单,主要时数组进行反转。以下时库函数调用的代码。
2024-03-18 17:52:59
435
原创 Day02 数组总结
数组是存放在连续内存空间上的相同类型数据的集合,数组可以方便的通过下标索引的方式获取到下标对应的数据。数组内存空间地址都是连续的(数组的下标都是从0开始。
2024-03-16 22:09:43
273
1
原创 Day03 螺旋矩阵
在编写过程中,我没有想到需要定义一个常量,控制每一条边的遍历的长度,在每次循环中右边界要收缩一位,以为整四个for循环就可以了,考虑不全,同时也没有考虑到如果输入的n为单数中间的值需要单独赋值。我上面的代码是在力扣中运行后显示通过,但是提交显示出错,我也没找到我得问题,不知道哪里出错了,还是没有问题呢。所有元素,且元素按顺时针顺序螺旋排列的。题目:给你一个正整数。
2024-03-16 21:44:51
185
1
原创 Day02 长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。滑动窗口的精妙之处在于根据当前子序列和大小的情况,不断调节子序列的起始位置,从而降低运行时间。窗口的起始位置如何移动:如果当前窗口的值大于s了,窗口就要向前移动了(也就是该缩小了)。窗口的结束位置如何移动:窗口的结束位置就是遍历数组的指针,也就是for循环里的索引。但是这不是一个最有效的解决方法,最有效的方法是利用滑动窗口,窗口就是 满足其和 ≥ s 的长度最小的 连续 子数组。
2024-03-16 14:41:20
302
1
原创 Day02 有序数组的平方
前面手机定义了int形式的i,j两种,i<=j是循环条件,迭代表达式不存在。这个里面也涉及到了双指针,i,j是两个双指针,i从左到右,j从右到左。存在一个误差:for的标准形式。组成的新数组,要求也按。
2024-03-15 16:56:15
230
1
原创 Day01 双指针
表示将数组 nums 中索引为 right 的元素的值赋给索引为 left 的元素,然后递增 left 的值。换句话说,它将数组中一个位置的值复制到另一个位置,并且递增 left 的索引,以便在下一次循环中将值存储到下一个位置。另一种方式:利用了遍历的思想,两个指针分别从数组左右同时开始遍历,左边找等于的,右边找不等于的,然后进行替换。你不需要考虑数组中超出新长度后面的元素。方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。不要使用额外的数组空间,你必须仅使用。的元素,并返回移除后数组的新长度。
2024-03-13 22:30:45
535
1
原创 Day01 二分法
整型数组分两种情况:一种是左闭右闭型,另一种是左闭右开型。,如果目标值存在返回下标,否则返回。个元素有序的(升序)整型数组。左闭右开型:边界处理方式不同。
2024-03-13 15:47:44
431
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅