android - 如何制作组合随机数矩阵

标签 android algorithm

我很难弄清楚如何生成范围为 1-8 的两次重复随机数并使其成为这样的矩阵:

5 8 2 5

3 6 4 1

7 6 2 3

4 7 8 1

顺便说一句,我打算在安卓上做这个。

提前致谢。

最佳答案

我假设您想要一个包含所有数字 1-8 两次的随机 4x4 矩阵。

您可以轻松地将 16 个数字的列表转换为 4x4 矩阵。因此,您需要的是 1-8 个数字的随机列表。

List<Integer> list = new ArrayList<Integer>();
for (int i = 1; i <= 8; i++) {
  list.add(i);
  list.add(i);
}
// list  = [1,1,2,2,3,3,..,8,8];
Collections.shuffle(list);
// gives something like [1,4,5,2,4,7,..8,1]

要将此列表转换为矩阵,只需逐行读取,一次读取 4 个数字。

关于android - 如何制作组合随机数矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6608938/

相关文章:

algorithm - 在有向图中找到所有循环?

algorithm - 构建切片树的算法是什么?

Android 波纹效应 + 非按钮 View 的高度

java - Android Java - 广播接收器 - 应用程序通知

android - 如何将动画附加到 Android 布局 XML 中的对象?

algorithm - 数据结构

c++ - 单值分解实现 C++

Android SDK 和 AVD 管理器错误 : File not found: C:\Program Files (x86)\Android\android-sdk\temp\

android - 更改 android Appcompat 单选按钮的 android Ripple 效果中心位置

c - void 函数中的递归过程