数组总结
数组问题类型
1.在原数组上添加元素
2.在原数组上删减元素
解法1:使用辅助数组,用辅助数组存放 满足要求的新数组
解法2:双指针:一个指针遍历数组,另一个指针记录(新数组的)位置
删减元素,可以元素覆盖
3.在原数组上调整元素位置
双指针
如果要求顺序不变,需要:双指针+辅助空间
4. 排序
5.查找
1.在原数组中查找,与原数组中元素有某些关联的元素
解法:使用HashTable辅助空间
6.某个元素出现的次数
解法:
1.使用HashMap遍历统计
例题:https://leetcode.com/problems/minimum-operations-to-make-the-array-alternating/
2.使用桶排序(数组元素的范围是有限的,最好是数组元素的范围不太大)
7.输入是数组,求:最大最小问题
思路:如果问题和数组元素的顺序无关,尝试思考:先给数组排序,然后看是否能遍历求解
例题:https://leetcode.com/problems/removing-minimum-number-of-magic-beans/
浙公网安备 33010602011771号