gpt4 book ai didi

C# 修剪数组内的空格(删除 0)

转载 作者:太空狗 更新时间:2023-10-29 23:56:05 26 4
gpt4 key购买 nike

如果我有下一个数组:

int[] arr = { 123, 243, 0, 0, 123, 0, 0, 0, 123 };

我怎样才能将所有不等于 0 的值尽可能地向左移动,这样数组将像这样构建:

int[] arr = { 123, 243, 123, 123, 0, 0, 0, 0, 0 };

谢谢!

最佳答案

LINQ 怎么样:

var result = arr.Where(x => x != 0).Concat(arr.Where(x => x == 0)).ToArray();

这非常可读并且具有线性时间复杂度。另一方面,它运行不当,需要对输入进行两次传递。

关于C# 修剪数组内的空格(删除 0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9178797/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com