概述
第一天主要学习的是数组相关的内容,相关学习的内容包括数组的基本特性的学习,二分搜索方法的学习。
数组特点
数组的基本特点包括:
-
下标从 0 开始
-
内存连续性(Java 中定义数组需要直接声明其空间大小)
-
数组元素不可以删,只能覆盖
-
ArrayList 底层是数组实现,其实际上应该叫一种容器
-
二维数组,array[i][j], 指的是 i 行 j 列的元素,后续会有二维数组上的相关题目,如搜索等。
-
哈希表结构也会用到数组,如果确认元素范围,比如字母 a-z,不妨定义 boolean 数组,通过数组快速判断元素是否存在过
经典题型
-
纯编程题
-
二分查找
-
需要数组有序
-
套二分法模板
-
双指针
作业题
-
704 二分法查找
题目链接:https://leetcode.cn/problems/binary-search/
文章讲解:https://programmercarl.com/0704.%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE.html
视频讲解:https://www.bilibili.com/video/BV1fA4y1o715
27 移除元素
题目链接:https://leetcode.cn/problems/remove-element/
文章讲解:https://programmercarl.com/0027.%E7%A7%BB%E9%99%A4%E5%85%83%E7%B4%A0.html
视频讲解:https://www.bilibili.com/video/BV12A4y1Z7LP
-