如何生成给定数值数组中不存在的数值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何生成给定数值数组中不存在的数值?相关的知识,希望对你有一定的参考价值。

我有这种方法来生成新的数值,但完成该功能需要很长时间。如何在快速approch中生成随机数?

 public int GeneratenewID(int[] OptionId)
    {
        Random ran = new Random();
        int SearchId = ran.Next(1, OptionId.Length*2);
        if (!OptionId.Contains(SearchId))
        {
            return SearchId;
        }
        else
        {
          return  GeneratenewID(OptionId);
        }
    }
答案

这肯定会起作用所以尝试:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            int [] OptionId=new int[]
            {
               0, 1,4,7,3,1,37,9
            };
            Program p = new Program();

          int a= p. GeneratenewID(OptionId);

        }


        public int GeneratenewID(int[] OptionId)
        {
            Random ran = new Random(1);
            int number = 0;
            for (int j = 0; j < OptionId.Length ; j++)
            {
               number =  ran.Next(OptionId.Length);
                if (!OptionId.Contains(number)) 
                    break; 
                else 
                    j--;
            }
            return number;
        }
    }
}

以上是关于如何生成给定数值数组中不存在的数值?的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer(Java版)第六十七题:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。 例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口

左神带你刷题之生成窗口最大值数值

LUA:从给定的数值生成唯一的 Mac

Java -- 给定一个int数组,拼接出最大数值

matlab中怎么把循环中生成的数值存入一个数组中

即使存在未设置为true,Rails验证也需要数值