二分查找
题目链接
注意:求均值防溢出,left+(right-left)/2等价于(left + right)/2。
原地移除元素
题目链接
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。
不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。
- 暴力求解,O(n^2)
- 快慢指针,O(n)
有序数组的平方
- 暴力求解O(n+nlogn):先求平方再排序
- 双指针O(n):两端求平方比较大小,大值放在ans数组当前尾端
长度最小的子数组
- 暴力求解O(n^2)
- 滑动窗口O(n)
螺旋矩阵II
题目链接
题目:输入n ,输出n*n的螺旋矩阵。
- 策略:模拟
- 时间复杂度:O(n^2)
总结
- 二维数组在内存中并不是连续地址,c++、java、python是行优先存储,即每行数据内存地址连续;matlab是列优先存储。