- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 <vector>容器详细讲解【算法刷题-数组】
类似,但效率更高,避免不必要的拷贝或移动操作。使用vector需包含头文件:vector。可以在容器的末尾直接构造元素,与。
2024-08-18 13:39:42
545
原创 <代码随想录>陪伴刷题【P008 数组-开发商购买土地】
其实就是枚举每一次竖切或横切的线,切完之后对两边的土地价值进行求和,算出两块土地的价值之差绝对值,每次对结果进行更新,选择最小的绝对值之差作为最终结果,很明显,?
2024-08-17 00:11:11
194
原创 <代码随想录>陪伴刷题【P006 数组-螺旋矩阵】
这就涉及主体代码的四个循环赋值部分,即四条边的赋值部分,四个必须遵循同样的原则,要么左开右闭,要么左闭又开,一定不能混着写,不然肯定赋值混乱。当矩阵的最外层一圈赋值完毕后,下一圈的边长理应减少2格,同时起终点也随之变化。
2024-08-13 14:47:45
224
原创 <代码随想录>陪伴刷题【P005 数组-长度最小的子数组】
滑动窗口,顾名思义,子数组就像一个窗口一样滑动,这个子数组的长度并不是随着每次起始节点变化后从零再次开始计算的,而是在找到符合条件的子数组之后,起始节点后移,看此时的子数组是否还符合条件,若符合,则起始节点再次后移,若不符合,则末元素后移,以此类推,直到末节点扫描到数组末尾。此种解法就是按照正常的思维,从某一个元素向后一个一个累加,等满足条件后就记下来这个子数组的长度,然后起始点向后移一位重复同样的操作,最终选择最短的那个子数组即可,很明显,求解需要三个记录变量,分别用来。
2024-08-12 23:05:46
306
原创 <代码随想录>陪伴刷题【P003 数组-移除元素】
定义两个指针,一个快指针一个慢指针,快指针负责去寻找有效数据,慢指针则负责保存下次更新数据的地址信息,这个方法的时间复杂的仍为O(n),但是好处在于可以不改变有效数据在原数组中的相对位置。这个解法主要需注意的点在于某元素【后面元素前移】、【元素前移后相应的搜索范围减小】,此种解法时间复杂度为O(n^2)。操作,顾名思义,"原地操作"指的是在不使用额外的空间的情况下,在原有的数据结构上进行修改。由于数组的空间地址是连续的,本身的元素不可删除,只能覆盖,因此此类题目通常要求使用。
2024-08-10 16:38:46
263
原创 <代码随想录>陪伴刷题【P001 数组-理论基础】
1.无论是一维数组还是二维数组,在内存空间上的地址都是连续的。因此数组的增删必然会移动其他元素的地址,所以数组不能删除,只能覆盖。3.数组下标从0开始,二维数组 [行号] [列号]。以下所有理论基础均基于c++语言实现。2.数组存放的内容都是相同类型的数据。
2024-08-10 07:50:21
79
原创 2024《算法设计与分析》大作业-蚁群算法
声明求本代所有蚂蚁行走距离最小值的临时变量。声明求本代所有蚂蚁行走距离总值的临时变量。第四步:记录本次迭代蚂蚁行走的路线数据。记录本代所有蚂蚁行走距离最小值的下标。记录本代每只蚂蚁走的路程,并初始化。此次循环在整个路径上的信息素增量。中的下一座城市,完成各自的周游。考虑信息素挥发,更新后的信息素。记录本次迭代蚂蚁行走的路线数据。表征启发式因子重要程度的参数。存储每次迭代的路径的最短长度。存储每次迭代的路径的平均长度。表征信息素重要程度的参数。只蚂蚁待访问的城市的概率。所有迭代中最优路径的下标。
2024-06-05 22:07:10
710
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人