![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数组
文章平均质量分 59
橡秄
我亦无他,唯手熟尔
展开
-
leetcode清晨的算法修炼课——数组(三)滑动窗口的使用
什么是数组当中的滑动窗口,故名思意,即在一个连续数组中通过两个指针(数组下标索引)分别作为窗口的起始位置和结束位置,形成一个起始位置和结束位置可以改变的窗口,这个窗口内的元素其实也就是数组中连续的子序列。一般题目中要求寻找某种符合要求的子序列时,可以考虑使用滑动窗口的思想。 注意:滑动窗口也是在一个数组中使用两个指针进行标识,读者可以在看完本篇文章内容以后同我前面介绍的双指针技巧加以区分,这边先附上链接: leetcode刷题技巧(一):双指针 接下来通过一个例子来具体介绍一下滑动窗口的用法:leetcod原创 2022-06-19 23:15:53 · 156 阅读 · 0 评论 -
leetcode清晨的算法修炼课——数组(二)双指针的应用
双指针是应用在有序表中的一个技巧,分为快慢指针与对撞指针,当用数组这种数据结构处理的问题时,某些情况我们可以考虑到双指针。不过正如我前面所说,双指针并不是专属于数组的一种解题技巧,因此只用数组这一数据结构来说明双指针可能并不能很好的形成对双指针的理解,因此我重新写了一篇文章,并不拘泥于数组这一数据结构。里面专门介绍并整体总结了双指针的使用技巧,要求读者在数据结构方面已经有了一定的基础:熟悉各种数组,链表的操作即可。读者可以在我所举的例子以及我的解读方面体会双指针的妙用。 leetcode刷题技巧(一):双指原创 2022-06-18 23:05:07 · 82 阅读 · 0 评论 -
leetcode清晨的算法修炼课——数组(一)彻底掌握二分法
使用数组之前须知数组的存储方式为顺序存储方式,这就需要我们关注以下几点: 1,一维数组a[n]的数组元素存放位置是一片连续的存储空间。 2,二维数组a[m][n]的数组元素存放位置是m片连续的存储空间,因为二维数组可以视为是m个容量为n的一维数组。而该二维数组其实是一个一维数组当中连续存储了m个一维数组的首地址,根据这m个一维数组当中的首地址,即可依次访问这m个一维数组,即访问到所有的数组元素。 3,由于数组在内存中连续存储的特性,所有在删除或者增添元素的时候,就难免要移动其他元素的地址,因此数组不便于在多原创 2022-06-13 17:38:10 · 99 阅读 · 0 评论