gpt4 book ai didi

algorithm - 生成这些序列的有效方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:52:33 25 4
gpt4 key购买 nike

问题:我需要生成以下序列。我有矩阵的顺序作为输入。

示例:
我需要生成其元素的位置序列。

 (0,0),(0,1),(1,0),(1,1) ->for order 2
(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2) -> for order 3.

我需要有为我做这件事的功能。当我调用此函数时,它应该会即时为我计算。我不想将序列存储在内存中。

例如:

first_call - > return value (0,0)
second_call to function - > return value ( 0,1)
...and so on...

您可以将这些值存储在一些全局变量中。

附言:
该函数必须是线程安全的,因为应用程序是多线程的。我知道这种情况没有区别。只是想传达整个问题。

精度:
我已经尝试过我的解决方案,但我认为它效率不高。我正在寻找一种有效的方法来做到这一点。你可以只提到步骤。我不需要任何特定语言的实现。如果问题需要更多信息,请告诉我。

最佳答案

使用一个全局变量来存储您调用该函数的次数。称它为 t。如果顺序是顺序,则

f = (t div 顺序, t mod 顺序)

div 是整数除法(例如 5 div 3 = 1),mod 是模数(即除法的余数) . (例如 5 mod 3 = 2)。

以 Java 为例:

public class MyCounter {

private static int t = 0;

public static int[] myFunction(int order) {
return new int[] { t / order , t++ % order };
}

public static void main(String[] args) {
int order = 3;
for(int i=0; i<order*order; i++) {
int[] k = myFunction(order);
System.out.println("("+k[0]+", "+k[1]+")");
}
}
}

关于algorithm - 生成这些序列的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12644524/

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