LeetCode经验总结
文本链接,点击这里↓
题号 | 题目 | 方法(同类型题目) | |
---|---|---|---|
9 | 回文数 | 数学位运算、中间扩散、双指针 | |
13 | 罗马数字转整数 | 左减右加 | |
26 | 删除有序数组中的重复项 | 双指针(26、27) | |
27 | 移除元素 | 双指针 | |
41 | 缺失的第一个正数 | 原地哈希 | |
136 | 只出现一次的数 | 异或法(136、268) | |
268 | 丢失的数字 | 异或法(136、268) | |
异或法
适合场景
找缺失数、找出现一次数
题目
268、136、287(不可以用异或法)
26.删除有序数组中的重复项
有序数组、双指针从左往右找不一样的数
41.原地哈希
哈希函数:限制常数级别额外空间
1映射到0,2映射到1,直至遍历整个数组。
解释:数值为i的映射到下标为i-1的位置
f(nums[i]) = nums[i] - 1
举例:nums[i] = 2
结果:f(2)= 2 - 1 = 1,下标为1