作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个包含整数的 n 个元素的固定大小数组。我想将所有非零值放在数组的右侧。
例子:
[1, 0, 0, 4] => [0, 0, 1, 4]
[2, 0, 4, 3] => [0, 2, 4, 3]
[1, 0, 0] => [0, 0, 1]
执行此操作的简单算法是什么?
这是我目前拥有的,但它只会将索引处的元素向右移动
def slide(arr):
i = len(arr) - 2
while i >= 0:
if arr[i] != 0 and arr[i + 1] == 0:
arr[i + 1] = arr[i]
arr[i] = 0
i -= 1
print(arr)
最佳答案
我会计算零,删除它们并将它们包含在开头:
zeros = [0] * arr.count(0)
while 0 in arr:
arr.remove(0)
arr = zeros + arr
关于python - 将所有非零值放在数组的右边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55118747/
我必须为 IE11 编写一些网格回退。 我想将元素 4 放在右下角,以便元素 1 可以一直向下延伸到底部吗? 我认为这对 flexbox 来说是不可能的,对吧? : https://jsfiddle.
您好,我正在尝试让 2 个 div 在左侧与右侧对齐。 #div1 #div2 #div1 #div2 #div3 #div2 #div3 #div3 诀窍是当浏览器窗口变小时,我希望#div2 位于
如何才能点击 EditText 的右侧可绘制对象(查看屏幕截图)?我尝试了几种方法,但总是卡住。 public static Matcher withEditTextDrawable(final in
这个问题在这里已经有了答案: In CSS Flexbox, why are there no "justify-items" and "justify-self" properties? (6
所以我有 10 个复选框,每个标签都取自数组中相应的索引。我正在使用 ng-repeat 来展示它们: {{entity}}
我是一名优秀的程序员,十分优秀!