用python实现 判断数组后面的数是否全部为零 两个及两个以上为零且在非零数后面直到最后一个数 为零去除 如果最后一个数为零也去除
时间: 2024-05-05 14:17:01 浏览: 248
对python 判断数字是否小于0的方法详解
5星 · 资源好评率100%
以下是一种可能的实现方式:
```python
def remove_trailing_zeros(arr):
i = len(arr) - 1
while i >= 0 and arr[i] == 0:
i -= 1
if i < 0:
# 数组全部为零
return arr
j = i - 1
while j >= 0 and arr[j] != 0:
j -= 1
if j < 0:
# 数组后面没有非零数,不需要去除
return arr
while j >= 0 and arr[j] == 0:
j -= 1
return arr[:j+1]
```
这个函数接受一个数组 `arr`,并返回去除后缀零的结果。首先,从数组末尾开始找到最后一个非零数的位置 `i`。如果 `i` 小于等于零,说明数组全部为零,直接返回原数组。否则,从 `i` 往前找到第一个零或者数组开始的位置的位置 `j`。如果 `j` 小于等于零,说明数组后面没有非零数,不需要去除后缀零,直接返回原数组。否则,从 `j` 往前找到第一个非零数的位置,然后返回数组的前缀到这个位置(包括这个位置)的部分。注意,如果最后一个数是零,也需要去除。
阅读全文