截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载
下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ
提取码:6666


视频分析
LeetCode,初级算法-删除排序数组中的重复项
代码部分
Java
// 双指针解决
public int removeDuplicates(int[] nums) {
// 边界条件判断
if (nums.length == 0)
return 0;
int left = 0;
for (int right = 1; right < nums.length; right++)
if (nums[left] != nums[right])
nums[++left] = nums[right];
return ++left;
}
c++
public:
int removeDuplicates(vector<int>& nums) {
if (nums.size() == 0)
return 0;
int left = 0;
for (int right = 1; right < nums.size(); right++)
if (nums[left] != nums[right])
nums[++left] = nums[right];
return ++left;
}
python
def removeDuplicates(self, nums: List[int]) -> int:
if not nums:
return 0
left = 0;
for right in range(1,len(nums)):
if nums[left] != nums[right]:
left += 1
nums[left] = nums[right]
return left + 1;
javascript
var removeDuplicates = function(nums) {
if (nums.length == 0)
return 0;
let left = 0;
for (let right=1; right<nums.length; right++)
if (nums[left] != nums[right])
nums[++left] = nums[right];
return ++left;
}
go
func removeDuplicates(nums []int) int {
length := len(nums)
if length == 0 {
return 0
}
left := 0
for right := 1; right < length; right++ {
if nums[left] != nums[right] {
left++
nums[left] = nums[right]
}
}
return left+1
}
版权声明:本文为abcdef314159原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。