力扣数组长度函数
时间: 2025-03-25 17:05:25 浏览: 38
### 关于 LeetCode 上与数组长度相关的函数或解法
在 LeetCode 平台上处理数组问题时,`length` 属性通常用于获取数组的大小。以下是具体使用方法以及一些常见场景下的代码示例。
#### 获取数组长度的方法
在 Python 中,可以通过 `len()` 方法来获取数组(列表)的长度[^3]。而在 Java 中,则通过 `.length` 属性访问数组的长度[^2]。
---
#### 示例 1: 删除数组中的重复项并返回新长度
这是一个经典的题目,在有序数组中删除重复项,并返回去重后的有效长度。下面分别给出 Python 和 Java 的实现:
##### Python 实现
```python
class Solution:
def removeDuplicates(self, nums):
if not nums:
return 0
slow = 1
for fast in range(1, len(nums)):
if nums[fast] != nums[fast - 1]:
nums[slow] = nums[fast]
slow += 1
return slow
```
上述代码利用双指针技术完成操作,其中 `len(nums)` 被用来计算原始数组的长度。
##### Java 实现
```java
public int removeDuplicates(int[] nums) {
if (nums.length == 0) return 0;
int slow = 1;
for (int fast = 1; fast < nums.length; fast++) {
if (nums[fast] != nums[fast - 1]) {
nums[slow] = nums[fast];
slow++;
}
}
return slow;
}
```
这里同样依赖於 `nums.length` 来判断数组的实际尺寸。
---
#### 示例 2: 移除指定值并调整数组长度
另一个常见的问题是移除数组中的某个特定值,并返回新的有效长度。下面是对应的解决方案:
##### Python 实现
```python
class Solution:
def removeElement(self, nums, val):
count = 0
for i in range(len(nums)):
if nums[i] != val:
nums[count] = nums[i]
count += 1
return count
```
此代码片段展示了如何通过计数器变量 `count` 记录保留下来的元素数量,而 `len(nums)` 则提供了初始数组的总长度。
##### Java 实现
```java
public int removeElement(int[] nums, int val) {
int count = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] != val) {
nums[count++] = nums[i];
}
}
return count;
}
```
在这里也运用到了 `nums.length` 进行循环控制。
---
#### 注意事项
- **原地修改**: 需要注意的是,LeetCode 的某些题目要求对输入数组进行「原地」修改,这意味着不允许额外分配空间存储结果数组[^4]。
- **时间复杂度**: 大多数情况下,这类问题的时间复杂度应保持在线性级别 O(n),因此需谨慎设计算法逻辑[^1]。
---
阅读全文