算法
文章平均质量分 53
盼盼哦
这个作者很懒,什么都没留下…
展开
-
vector数组的定义以及操作
一. 一维数组1. 数组初始化//第一种初始化,就单纯的建立一个可变数组array,因为还没有存放元素,未分配空间vector<int> array;//第二种初始化,是使用初始化列表来指定初始值以及元素个数//以初始化列表中的値作为元素初始值,生成有6个数的初始vector数组vector<int> array = {1,2,3,4,5,6};vector<int> array{1,2,3,4,5,6};//第三种初始化,使用初始元素个数以及指定元素原创 2021-11-01 15:42:24 · 3213 阅读 · 1 评论 -
力扣刷题-数组篇-长度最小的子数组
一. 题目描述题目链接:209. 长度最小的子数组二. 思考步骤1. 暴力循环法:方法大致就是,使用两个循环,一个循环用于从数组中定位从哪一个元素开始,作为连续数组的开头(直接把整个数组遍历一遍),知道了连续数组的开头元素以后,就好办了,直接用第二个循环,把从开头元素和后面连续的几位元素值加起来,只要元素值之和>=target,就立马记录当前连续数组的长度并直接退出当层循环,防止多加入一个元素的长度。至于怎么记录那一堆连续数组的长度,并从中挑出最短的长度?我想了两个方法,第一个是:新建一个数原创 2021-08-10 16:36:50 · 234 阅读 · 0 评论 -
力扣刷题-数组篇-有序数组的平方
一. 题目描述题目链接:有序数组的平方二. 思考步骤最先想到的暴力排序:将数组中每个元素平方后,直接使用sort函数(类似于快排的方法)排序。时间复杂度为O(n + nlogn),是一个循环数组计算的时间,加上一个将数组排序的时间。代码示例:双指针大法:一开始没想到,参考了一下题解才反应过来,由于题目给出的是一个升序的数组,...原创 2021-08-09 11:23:39 · 132 阅读 · 0 评论 -
力扣刷题-数组篇-移除元素
一. 题目描述二. 思考步骤先采用暴力求解:就是使用两个for循环,一个用于遍历数组的元素并找到需要删除的元素的位置,另一个循环用于覆盖需要删除的元素,即删除一个元素,便将后面的所有元素依次往前面挪一个位置,将原先的元素覆盖掉。代码示例:(第一次运行结果出现错误,因为没有考虑到一种情况,那就是当两个需要删除的元素相邻的时候,例如[0,1,2,2,3,0,4,2],删除2,将第三个元素覆盖了以后,原先第四个位置的2又会补充到第三个位置上去了,然而循环会往下进行遍历到第四个位置,这个时候的第四个位置原创 2021-08-08 20:57:24 · 131 阅读 · 0 评论 -
csp试题——称检测点查询的100分解法
1.题目描述2.算法思想步骤1:建立一个结构体数组,存储每个检测点的信息,包括编号number,坐标x,y,距离d。编号是用来判断每个检测点的身份,坐标用于计算其与 市民所在位置的距离。步骤2:分行输入每个检测点的坐标,然后通过输入每个检测点的坐标x,y,来计算每个检测点与市民所在初始点的距离d,记得此处的编号number从1开始,要一一对应。步骤3:用一个排序功能将所有检测点,按照距离d优先,距离d相等的情况下编号number大小决定的条件,从小到大排序。最后依次按行输出前三个最小的检测点的编号原创 2020-11-24 16:43:05 · 346 阅读 · 0 评论 -
大整数的四则运算(高精度运算)
1.大整数的存储 大整数存储用于基本数据类型无法存储的高精度整数,整数的高位存在数组的高位,整数的低位存在数组的低位。(1)大整数初始化结构体代码:struct bign{//存储大整数,这里设置可存储的最大为1000位 int d[1000]; int len; bign(){//初始化结构体 //memset将数组d的所有元素赋值为0 memset(d,0,sizeof(d)); len = 0; }};(2)输入大整数时,先用字符串读入,再把字符串另存为到bign结构原创 2020-11-15 12:26:17 · 630 阅读 · 0 评论