前提:
数组相关知识点:
内存地址连续 存储类型相同 下标0开始
移除某个元素 其他元素内存地址会随之变动 数组的元素是不能删的,只能覆盖
二维数组是行列结构 地址也连续(可&打印地址)
704.二分查找
1.自己思路:直接for循环遍历数组值 运行时内存占比很大 不如二分法高效 因为没有使用到该数组是升序数组的条件 顺利通过
2.二分法思路:核心就是每次查找都是(left + right)/2 和对边界的判断 分为right能否取到 闭则值需要+1(left = middle+1) 开则直接相等(right = middle) 注意 退出条件也不同 运行时间快了很多 内存仍占很多
27.移除元素
1.自己思路:初始思路暴力法 erase 但是发现漏洞 因为i+=会跳过相等元素的下一个 解决方法:相等i值不变 顺利通过
2.双指针思路:双指针 left与right均为0但是right为初始数组一直遍历 left为新数组的下标