当前位置: 首页 > 面试题库 >

如何随机混淆一个数组?

蓬祺
2023-03-14
问题内容

我需要随机调整以下数组:

int[] solutionArray = {1, 2, 3, 4, 5, 6, 6, 5, 4, 3, 2, 1};

问题答案:

可以使用如下代码实现:

import java.util.*;
import java.util.concurrent.ThreadLocalRandom;

class Test
{
  public static void main(String args[])
  {
    int[] solutionArray = { 1, 2, 3, 4, 5, 6, 16, 15, 14, 13, 12, 11 };

    shuffleArray(solutionArray);
    for (int i = 0; i < solutionArray.length; i++)
    {
      System.out.print(solutionArray[i] + " ");
    }
    System.out.println();
  }

  // Implementing Fisher–Yates shuffle
  static void shuffleArray(int[] ar)
  {
    // If running on Java 6 or older, use `new Random()` on RHS here
    Random rnd = ThreadLocalRandom.current();
    for (int i = ar.length - 1; i > 0; i--)
    {
      int index = rnd.nextInt(i + 1);
      // Simple swap
      int a = ar[index];
      ar[index] = ar[i];
      ar[i] = a;
    }
  }
}


 类似资料:
  • 本文向大家介绍如何生成一个随机数?相关面试题,主要包含被问及如何生成一个随机数?时的应答技巧和注意事项,需要的朋友参考一下  

  • 我正在尝试混淆一个jar文件,以保护它不检索原始源代码。 我试过proguard但听起来有点费时!!然后我尝试了IntelliGuard2插件,但是没有关于什么proguard和yguard以及如何使用它们的信息!! 我阅读了一些参考资料,说明需要为proguard或yguard生成一个Ant构建文件,以便能够混淆jar文件。然后,我继续生成一个jar文件来进行模糊处理。 有没有一种简单直接的方法

  • 我想要这样的结果。依靠这个数组,我想在其中得到一个随机值。

  • 我知道有人问过类似的问题,比如 从包含n个元素的向量中随机选择m个元素 从未知长度的序列中随机选择N个项目 但我越看越困惑。 从N个元素中均匀随机地选择M个元素 所以我需要从N个元素中选择M个元素。我还需要使被选中的概率均匀分布于每个元素: 我的直觉是 随机选择一个元素 把它拿出来 对其余元素重复此过程 我猜这个解决方案错了?所选元素的概率为,<代码>1/(N-M),而不是,对吗? 一个可能的正确

  • 问题内容: 我对Swift和编程逻辑很陌生,所以请耐心等待 如何在Swift中生成0到9之间的随机数而不重复最后生成的数字?因为相同的数字不会连续出现两次。 问题答案: 将先前生成的数字存储在变量中,然后将生成的数字与先前的数字进行比较。如果它们匹配,则生成一个新的随机数。重复生成新数字,直到它们不匹配为止。

  • 问题内容: 我想制作一个不是开源的JavaScript应用程序,因此我想学习如何混淆我的JS代码?这可能吗? 问题答案: 可以使用: Google Closure编译器 UglifyJS 更新:这个问题最初是在10多年前提出的,并且不再维护YUI。 Google Closure编译器仍在使用,并且UglifyJS可以通过节点包管理器在本地运行: 私有字符串数据: 将字符串值设为私有是另一个问题,而