高端产品网站建设,购物网站建设优势,云南省建设厅网站二建,做系统去哪个网站题目描述#xff1a;
给你一个数组 nums 和一个值 val#xff0c;你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。
假设 nums 中不等于 val 的元素数量为 k#xff0c;要通过此题#xff0c;您需要执行以…题目描述
给你一个数组 nums 和一个值 val你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。
假设 nums 中不等于 val 的元素数量为 k要通过此题您需要执行以下操作
更改 nums 数组使 nums 的前 k 个元素包含不等于 val 的元素。nums 的其余元素和 nums 的大小并不重要。返回 k。
用户评测
评测机将使用以下代码测试您的解决方案
int[] nums [...]; // 输入数组
int val ...; // 要移除的值
int[] expectedNums [...]; // 长度正确的预期答案。// 它以不等于 val 的值排序。int k removeElement(nums, val); // 调用你的实现assert k expectedNums.length;
sort(nums, 0, k); // 排序 nums 的前 k 个元素
for (int i 0; i actualLength; i) {assert nums[i] expectedNums[i];
}
如果所有的断言都通过你的解决方案将会 通过 输入输出实例 思路这道题目思路很明确我们只需要将nums数组中不等于val的留下来就行了初始化k0,遍历数组如果nums[i]!val,nums[k] nums[i]即可
代码如下
class Solution:def removeElement(self, nums: List[int], val: int) - int:k 0for i in range(len(nums)):if nums[i] ! val :nums[k] nums[i]k1return k