![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数组
文章平均质量分 77
机智的豆子
现在学习编程还在挣扎阶段,需要有恒心才能坚持下来。
展开
-
移动零283
指针我们创建两个指针i和j,第一次遍历的时候指针j用来记录当前有多少非0元素。即遍历的时候每遇到一个非0元素就将其往数组左边挪,第一次遍历完后,j指针的下标就指向了最后一个非0元素下标。第二次遍历的时候,起始位置就从j开始到结束,将剩下的这段区域内的元素全部置为0。class Solution { public void moveZeroes(int[] nums) { if(nums==null) { return; } //第一次遍历的时候,j指针记录非0的个数,只要是非0的统原创 2020-06-30 00:37:15 · 109 阅读 · 0 评论 -
两数之和1
方法一:暴力法暴力法很简单,遍历每个元素 xx,并查找是否存在一个值与 target - xtarget−x 相等的目标元素。class Solution { public int[] twoSum(int[] nums, int target) { for (int i = 0; i < nums.length; i++) { for (int j = i + 1; j < nums.length; j++) {原创 2020-06-30 00:28:19 · 381 阅读 · 0 评论 -
删除排序数组中的重复项26、80
方法:双指针法算法数组完成排序后,我们可以放置两个指针 i和 j,其中 i 是慢指针,而 j 是快指针。只要 nums[i]=nums[j],我们就增加 j 以跳过重复项。当我们遇到nums[j] =nums[i] 时,跳过重复项的运行已经结束,因此我们必须把它(nums[j])的值复制到 nums[i + 1]。然后递增 i,接着我们将再次重复相同的过程,直到 j 到达数组的末尾为止public int removeDuplicates(int[] nums) { if (nums.len原创 2020-06-30 00:08:42 · 359 阅读 · 0 评论