gpt4 book ai didi

Java数组改变一半的值等

转载 作者:行者123 更新时间:2023-12-01 16:47:53 25 4
gpt4 key购买 nike

所以我有一个接受数组大小的方法。我的方法使数组的一半为 0。

int [] arrary2 = new int[arraySize];
for(int i = 0; i < arraySize/2; i++){
arr2[i] = 0;
}
//do rest of code?
return array2;

如何将数组后半部分的一半变为 1,依此类推。例如大小为 14 的数组,但数组大小可以是任意大小?

[0,0,0,0,0,0,0,1,1,1,1,2,2,3]

最佳答案

粗略算法:

  • 计算剩下要做的事情的一半(注意奇数/偶数)
  • 用当前值填充
  • 重复

示例代码:

public static int[] createArray(int size)
{
int[] array = new int[size];
int half = (size / 2) + (size % 2);
int index = half;
int value = 0;
for (int i = 0; i < size; i++) {
if (i == index) {
half = (half / 2) + (half % 2);
index += half;
value++;
}
array[i] = value;
}
return array;
}

示例输出:

15 => 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3
14 => 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3

关于Java数组改变一半的值等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46459493/

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