• 经典算法题随机从连续的100个不重复数中取出100个不重复随机数


    这道题目很值得思考,以下分别用三种方式搞定,第三种方式拒绝使用contains方法。

    方法一:

    int[] arr = new int[100];
    // while (true)
    // {
    // Random rand = new Random();

    // for (int j = 0; j < 100; j++)
    // {
    // int m = rand.Next(1, 200);

    // if (!arr.Contains(m))
    // {
    // arr[j] = m;
    // }
    // else
    // j--;
    // }
    // break;

    方法一变形:

    int[] arr = new int[100];
    Random rnd = new Random ();

    for (int i = 0; i < 100; )
    {
    int j= rnd.Next(1, 101);
    if (arr.Contains(j) == false )
    {
    arr[i] = j;
    i++;
    }

    }

    for (int k = 0; k < 100; k++)
    {
    Console.Write(arr[k] + " ");
    }

    方法二:

    //int[] arr = new int[100];
    //ArrayList list = new ArrayList();
    //Random rand = new Random();
    //while (list.Count < 100)
    //{
    // int num = rand.Next(1, 105);
    // if (!list.Contains(num))
    // list.Add(num);
    //}
    //for (int i = 0; i < 100; i++)
    // arr[i] = (int)list[i];

    方法三:

    int[] arr1 = new int[100];
    int[] arr2 = new int[100];
    for (int i = 0; i < 100; i++)
    arr1[i] = i;

    Random rand=new Random();
    int end=100-1;
    for(int i=0;i<total;i++)
    {
    int num= rand.Next(0, end+1);
    arr2[i] = arr1[num];
    arr2[num] = arr2[end];
    end--;
    }

  • 相关阅读:
    input文本框输入限制(正则表达式)
    SQL Server通用型分页存储过程
    简单易学的数据图表
    HTML中input文本框只读不可编辑的方法
    SQL添加外键约束的方式
    +1 也要睁着眼
    博客园的自定义皮肤
    网站收集整理
    jQuery extend方法介绍
    HTML5本地存储
  • 原文地址:https://www.cnblogs.com/zhanying/p/4063802.html
Copyright © 2020-2023  润新知