首页 > 代码库 > array题目合集
array题目合集
283. Move Zeroes
给定任意一个数组,把其中的0都移到该数组的末尾,其他的数字相对顺序要保持不变。例如:nums = [0, 1, 0, 3, 12]
, after calling your function, nums
should be [1, 3, 12, 0, 0]
.
思路:不是0的往前赋值,同时用一个下标纪录当前赋值的数量,最后从这个下标开始赋值0即可。
public class MoveZeroes { public void moveZeroes(int[] nums) { if (nums.length == 0) { return; } int start = 0; for (int i = 0; i < nums.length; i++) { if (nums[i] != 0) { nums[start++] = nums[i]; } } for (int i = start; i < nums.length; i++) { nums[i] = 0; } } }
27. Remove Element
给定一个数组和一个整数,去掉该数组中等于该整数的数,要求在原数组更改,同时返回数组的新长度。例如:
Given input array nums = [3,2,2,3]
, val = 3
Your function should return length = 2, with the first two elements of nums being 2.
思路:类似上题,还是同一个思路
public class RemoveElement { public int removeElement(int[] nums, int val) { int k = 0; for (int i = 0; i < nums.length; i++) { if (nums[i] != val) { nums[k++] = nums[i]; } } return k; } }
array题目合集
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。