- 博客(3)
- 收藏
- 关注
原创 LeetCode笔记3--26--删除排序数组中的重复项
解法分析:用双指针的方法解决此问题 用两个指针: 定义两个指针fast 和 slow 分别为快指针和慢指针,快指针表示遍历数组到达的下标位置,慢指针表示下一个不同元素要填入的下标位置,初始时两个指针都指向下标 1。 假设数组的长度是n,将快指针fast依次遍历从1到n−1的每个位置,判断如果nums[fast]与前一个数字nums[fast-1]不相等,则将nums[fast]的值赋值给nums[slow],slow往右移一位,即slow+1。 遍历结束之后,从nums[0] 到[s...
2021-07-22 13:25:50 75
原创 LeetCode笔记2--169--求众数
解法1:摩尔投票法: 核心就是对拼消耗(一对一抵消,剩下的就是winner)。从用n来记录数字(初始为第一个数字),count来记录票数(初始为一票,第一个数字的一票)。从第二个数字开始遍历,如果跟第一个数相同票数就加一,不同票数就减一。当num=0时,将前面所有的票数置为0,从下标为i+1的数开始 class Solution { public int majorityElement(int[] nums) { int count=1; //count来记录票数(初始为一票,
2021-07-21 21:05:40 93
原创 LeetCode笔记1--136--只出现一次的数字
一、解决方法 解法1:运用异或的方式 class Solution { public int singleNumber(int[] nums) { int result = 0; for (int i = 0; i < nums.length; i++) result ^= nums[i]; return result; } 解法2:运用HashSet的方式 class Solution { public in...
2021-07-21 13:12:50 69
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人