6.数组小结:

数组------代码随想录部分完结小结:

已经使用过Python刷题过一遍,现在使用Java刷题,感觉很多是已经有思路了,并且能明白为什么要这样去做,以后复习主要的重点主要是双指针法。

双指针法的一些感悟:

常用的环境:

  • 涉及到元素交换,又不想要开辟新空间的可以使用;
  • 求解最小子集(滑动窗口------快慢指针)可以使用;
  • 删除元素。

常用的方法:

  • 一般的快慢指针:
    • fast:用于去遍历数组,获取想要存放在新数组中的元素;
    • slow:用于获取新数组元素的下标,将fast内的元素更新进来。
  • 滑动窗口(我认为是快慢指针的一种):
    • fast:用于遍历数组,获取右边界;
    • slow:当满足条件时,开始更新,直到条件不满足,以获取左边界
    • 最终目的:获取最小的子集。
  • 头尾双指针:
    • 用于交换次序;
    • 或者用于处理非全部正数的数组,方便我们获取平方值的大小等用途。
相关推荐
我什么都学不会4 分钟前
Python练习作业2
开发语言·python
血小板要健康34 分钟前
如何计算时间复杂度(上)
java·数据结构·算法
计算机学姐36 分钟前
基于SpringBoot的美食分享交流平台
java·spring boot·后端·spring·java-ee·intellij-idea·美食
henujolly37 分钟前
ethers.js读取合约信息
开发语言·javascript·区块链
Eugene__Chen40 分钟前
Java关键字(曼波版)
java·开发语言
wWYy.1 小时前
详解哈希表
数据结构·算法·散列表
lixin5565561 小时前
基于深度生成对抗网络的高质量图像生成模型研究与实现
java·人工智能·pytorch·python·深度学习·语言模型
无望__wsk1 小时前
Python第一次作业
开发语言·python·算法
Word码1 小时前
[C++语法]-vector(用法详解及实现)
开发语言·c++
代码雕刻家1 小时前
4.3.多线程&JUC-多线程的实现方式
java·开发语言