gpt4 book ai didi

arrays - 替换排序数组中偶数位置的数字

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:43:26 24 4
gpt4 key购买 nike

我有一个按升序排序的数组。我想用 0 替换数组中偶数位置的最大 m 数。

我认为我的算法是这样的:

k=1;
for j=n:1 %%starting from last position to first
if(rem(j,2)==0 && (k<=m)) %%checking if the position is even & not getting over m numbers
B(j) = 0;
k = k + 1;
end
end

谁能指出为什么它不起作用?谢谢!

最佳答案

有点复杂

even = (n-rem(n,2)) : -2 : 1; % even indices in descending order
B( even(1:m) ) = 0; % set to zero

请注意 n-rem(n,2) 如何确保我们从 B 的最后一个 even 索引开始。

附言,
最好not to use j as a variable name in Matlab .

关于arrays - 替换排序数组中偶数位置的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33012269/

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