当前位置: 首页 > news >正文

力扣算法笔记——生成随机数组

题目信息: 给两个随机数和N,生成M到N的随机不重复数组,且M<N。

 示例:输入M =2, N=5, 输出 [4,3,2,5].

思路:洗牌算法,先遍历M到N之间所有的数字,将得到的结果存入一个集合中,将集合从后往前遍历,遍历时,在0和当前遍历到的列表最后一个下标i之间选择一个随机数J(从0到i),将随机数J下标对应的数字跟当前遍历到的下标i对换位置,打乱列表顺序

我直接在Unity里写了,代码如下:

    public int M;public int N;public int[] randomArray;private void Update(){if (Input.GetKeyDown(KeyCode.Space)){randomArray=GenerateRandomArray(M,N);}}int[]  GenerateRandomArray(int m,int n){if (n<=m){return new int[0];}List<int> numbers = new List<int>();for (int i=m;i<=n;i++){numbers.Add(i);}for (int i=numbers.Count-1;i>0;i--){int j = Random.Range(0,i+1);int temp = numbers[i];numbers[i] = numbers[j];numbers[j] = temp;}return numbers.ToArray();}

http://www.lryc.cn/news/472827.html

相关文章:

  • Anaconda和Pycharm超详细安装教程(2024版本+Win11)
  • 代码随想录:从中后/中前遍历序列构造二叉树
  • 2-134 基于matlab的图像边缘检测
  • 【Java并发编程】线程池详解
  • ThingsBoard规则链节点:GPS Geofencing Events节点详解
  • Jmeter基础篇(19)JSR223预处理器
  • 通过js控制css变量
  • Docker:容器化和虚拟化
  • OpenSSL
  • CSS 常见选择器
  • Linux使用Dockerfile部署Tomcat以及jdk
  • LC20. 有效的括号
  • 基于springboot企业微信SCRM管理系统源码带本地搭建教程
  • 【MTMSA】不确定缺失模态下基于情态翻译的多模态情感分析
  • 【php常用公共函数】php获取指定时间段中有那几年并输出年份的起始时间和结束时间
  • CTF-PWN: 什么是_IO_FILE?
  • 前端八股文第二篇
  • springboot汽车保修服务管理系统-计算机毕业设计源码00052
  • 分布式架构搭建博客网站
  • python-opencv给图片或视频去水印
  • 免费送源码:Java+ssm+Springboot Springboot手办定制销售系统 计算机毕业设计原创定制
  • 卡夫卡的使用
  • mac|maven项目在idea中连接redis
  • Python基础学习------第一天
  • MySQL的SQL语句之触发器和存储过程的应用
  • 【MD5】密码加密之加盐算法
  • 服务器虚拟化
  • 贪心算法理论基础和习题【算法学习day.17】
  • 爬虫ip技术未来发展趋势
  • 推荐一款功能强大的文字处理工具:Atlantis Word Processor