- 博客(12)
- 收藏
- 关注
原创 轮转数组(C++)
给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。向右轮转 1 步:向右轮转 2 步:向右轮转 3 步:向右轮转 1 步: [99,-1,-100,3]向右轮转 2 步: [3,99,-1,-100]
2023-10-25 00:16:36
216
1
原创 多数元素(C++)
给定一个大小为n的数组nums,返回其中的多数元素。多数元素是指在数组中出现次数⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。32。
2023-09-27 17:37:09
260
1
原创 删除有序数组中的重复项 II
力扣官方题解的方法,采用两个指针,一个为slow指针一个为fast指针,由于重复次数为两次,所以数组的前两位可以不计,所以将数组的初值设为2,之后则可以将slow的指针固定位置将fast指针所指元素进行比较,可得出结果。觉得这个算法是一个蛮有意思的算法,其中个人认为思路可以着重在是重复2次,并且为有序数组,故可以尝试利用2和双指针得出。结果多出来一个3,我通过看代码发现,语句多重复了一次,于是我在结果多添了一句话,实现了在运行过程中成功,但是卡在了[1,1]的输入上。不要使用额外的数组空间,你必须在。
2023-09-26 17:48:28
248
2
原创 删除有序数组中的重复项(c++)
一开始想的是用两个循环找到相同的进行赋值,结果由于设置变量过多并且太多不需要的运算导致超时。之后,看了题解一道图之后,明白使用双指针后,开始编写代码。// 长度正确的期望答案。不需要考虑数组中超出新长度后面的元素。不需要考虑数组中超出新长度后面的元素。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。函数应该返回新的长度。的前两个元素被修改为。函数应该返回新的长度。的前五个元素被修改为。
2023-09-23 20:01:13
559
1
原创 移除元素(C++)
给你一个数组nums和一个值val,你需要移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下://是以“引用”方式传递的。也就是说,不对实参作任何拷贝// 在函数里修改输入数组对于调用者是可见的。
2023-09-22 15:43:10
494
原创 合并两个有序数组(c++)
逆向双指针与方法三都是使用的指针方法,不同的地方在于,方法三顺向使用可能会有冲突,所以新建了一个数组依次存放,而通过观察可知nums1数组尾部很安全,所以使用逆向双指针节省空间。简单一点解释就是使用两个指针,分别指向nums1和nums2,依次比较两个指针所指向数组数值大小,将小的那一方放入sorted数组里就ok啦。使用swap函数的方法也可以用赋值表示,但是赋值的话使用的时间更久,对于内存占用较为不优化,个人较推荐swap()函数方法。最终,合并后数组不应由函数返回,而是存储在数组。
2023-09-21 21:12:13
2573
原创 C++学习要点总结(第四章)(三)
4.7.1 声明和初始化指针指针声明必须指定指针指向的数据的类型。注意:可以在声明语句中初始化指针。在这种情况下,被初始化的是指针,而不是它指向的值。例如int hats=5; int *p=&hats; 此时是将p的值设为了&hats。下面一段代码演示了如何将指针初始化为一个地址。#include<iostream>using namespace std;int main(){ int higgens = 5; int* pt = &higg
2021-08-07 00:43:58
142
1
原创 C++学习要点总结(第四章)(二)
4.4 结构简介结构是一个比数组更灵活的数据格式,因为同一个结构可以存储多种类型的数据。结构是用户定义的类型,而结构声明定义了这种类型的数据属性。struct inflatable{char name[100];double price;float volum;int num;};关键字struct表明,这些代码定义的是一个结构的布局,标识符inflatable是这种数据格式的名称,因此新类型的名称为inflatable。定义结构后,便可以创建这种类型的变量了,如
2021-07-31 17:24:08
538
原创 第四章复合类型 编程练习
1.编写一个C++程序,如下述输出示例所示的那样请求并显示信息。What is your first name? Betty SueWhat is your last name? YeweWhat letter grade do you deserve? BWhat is your age? 22Name: Yewe, Betty SueGrade: CAge: 22#include<iostream>using namespace std;int main
2021-07-29 21:20:00
264
原创 C++学习要点总结(第四章)(一)
第四章 复合类型4.1 数组数组(array)是一种数据格式,能够存储多个同类型的值。每个值都存储在一个独立的数组元素中,计算机在内存中依次存储数组的各个元素。要创建数组,可使用声明语句。数组声明应指出以下三点:存储在每个元素中值的类型 数组名 数组中的元素数声明数组的通用格式如下:typeName arrayName[arraySize];注意:arraySize它必须是整型常数或const值,也可以是个常量表达式,即所有值在编译的时候都是已知的。数组可以单独访问数组元素
2021-07-24 23:28:31
399
原创 第3章:C++练习第3章编程练习
1.编写一个小程序,要求用户使用一个整数指出自己的身高(单位为英寸),然后将身高转换为英尺和英寸,该程序使用下划线字符来指示输入位置。另外,使用一个const常量来表示转换因子。#include<iostream>using namespace std;const double yinzi = 1.0 / 12;int main() { int x; cout << "用一个整数输入自己的身高单位(英寸):______\b\b\b\b\b\b";
2021-07-24 00:30:59
218
原创 C++学习章节要点总结
第三章 处理数据3.1.1 变量名变量名的起名一般表示该变量有什么作用即一定含义的变量名。关于变量名,必须遵循以下C++的命名规则。在名称中,只能使用字母字符、数字和下划线。 变量名的第一个字符不能是数字。 变量名区分大小写。 不能将C++关键字用作名称。 以两个下划线或下划线和大写字母打头的名称被保留给实现(编译器及其使用的资源)使用。以一个下划线开头的名称将被保留给实现,用作全局标识符。(这样命名可能会导致行为的不确定性。即不知道会出现什么结果。编译器不报错的原因为这样命名并不是非法
2021-07-21 22:39:50
703
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人