从数组中随机取n个元素

生产N个不重复的随机数(从一个数组中随机取N个元素) 有个需求,想要从一个长度为M的数组中随机的取其中的N个元素。 有两个思路: ①生成N个不重复的随机数(0到M-1之间)然后取以这N个数为下标的单元; ②将这个数组所有单元打乱,取前N个值。 第一种 这有个还不错的方法:http://blog.youkuaiyun.com/devfun/article/details/6534476 int startArray[] = {0,1,2,3,4, 阅读详情
//随机获取[min,max]的随机整数
let getRandomNumBetween = function(min, max) {
    return Math.floor(Math.random() * (max - min + 1) + min);
}

//从数组arr中,随机取nCount个元素,返回数组。可选择是否去重bQuChong
var getRandomArray = function(arr, nCount, bQuChong) {
    if (!(arr instanceof Array)) {
        return [];
    }
    let length = arr.length;
    let arrRes = [];
    nCount = length < nCount ? length : nCount;

    while (arrRes.length < nCount) {
        let randomIndex = getRandomNumBetween(0, length - 1);
        let item = arr[randomIndex];
        if (item) {
            if (bQuChong) {
                if (arrRes.indexOf(item) < 0) {
                    arrRes.push(item);
                }
            } else {
                arrRes.push(item);
            }
        }
    }

    return arrRes;
}

 

无人机避障——感知篇(采用Mid360复现Fast-lio) 本文介绍了在Ubuntu 18.04和ROS Melodic环境下,使用Xavier-nx电脑和Livox Mid-360激光雷达编译和运行FAST-LIO工程的步骤,包括创建工作空间、编译驱动和FAST-LIO源码,以及运行launch文件进行建图的过程。 阅读详情

相关推荐

保姆级教程:在Windows 10/11上安装配置KNIME 5.8.0(含中文文本库更新)

本文提供在Windows 10/11系统上安装配置KNIME 5.8.0的详细指南,包括中文文本库更新和性能优化方案。从环境准备、安装流程到中文文本处理能力强化,逐步指导用户搭建高效的数据分析环境,特别针对国内网络环境和中文用户需求提供实用解决方案。

weixin_29081101的博客 669

Go语言数组

【代码】Go语言数组。

ZN175623的博客 1324

从像素到光影:解析《黑神话:悟空》中Nanite与Lumen的协同渲染革命

本文深度解析了《黑神话:悟空》如何利用Unreal Engine 5的Nanite与Lumen技术实现渲染革命。Nanite处理亿级多边形几何细节,无需传统LOD优化;Lumen提供全动态全局光照,实现实时光线反弹。两者协同工作,为游戏带来电影级视觉体验,重塑了实时渲染的技术标准与工作流程。

f6g7h8i9j的博客 425

随机获取数组中的数据

var items = ['f','d','e','s','g','j','k','l','w']; function getRandomElements(arr, count) { var shuffled = arr.slice(0), i = arr.length, min = i - count, temp, index; while (i-- &gt; min) { ...

luodao_的博客 5539

利用CANoe和CAPL实现高效CAN网关设计与仿真

本文详细介绍了如何利用CANoe和CAPL进行高效CAN网关的设计与仿真。通过搭建仿真工程、导入DBC数据库、编写CAPL脚本等步骤,手把手指导读者构建一个连接不同CAN网络的网关模型,实现报文的监听、转发与信号处理,从而在硬件开发前验证逻辑,提升汽车电子开发效率与可靠性。

weixin_29164091的博客 294

Doris + Iceberg 实现高效数据湖分层:架构解析与最佳实践

本文深入解析了如何利用Doris与Iceberg构建高效的数据湖冷热分层架构。通过将高频访问的热数据存储在Doris中以实现毫秒级查询,同时将历史冷数据归档至低成本的Iceberg存储,该方案在保障查询性能的同时显著降低了总体拥有成本。文章详细阐述了从架构设计、自动化迁移到统一查询的最佳实践,为应对海量数据下的成本与性能平衡提供了实战指南。

weixin_29207533的博客 135

**在数组内取出n个不重复的随机数**

**在数组内取出n个不重复的随机数,高效率,go语言 ** 在一定范围内取出n个随机数,并且不重复 废话少说,直接上代码 语言:golang func RandRangeNumbers(min, max, count int) []int { //检查参数 if max < min || (max-min+1) < count { return nil }...

qq_28476865的博客 2359

工业4.0 底层逻辑

工业4.0 的概念已经被滥用了,它与物联网,工业物联网等概念一样,几乎什么都往里面装。演变成了一句口号和愿景。许多人并不清楚工业4.0的底层逻辑到底是什么?如何遵循工业4.0 的思想构建新一代智能制造系统?并没用清晰地展示工业4.0的技术路线图。

姚家湾博客 1993

Go语言:按照指定的一组权重随机选择一个数组元素(加权随机索引)

加权随机索引比较常用,例如HTTP代理服务器需要按照不同的权重把请求转发给不同的后端服务器,又比如在web页面的同一个位置需要按照一定的比例显示不同的广告图片。 函数实现如下: package main import ( "fmt" "math/rand" "time" ) /* 作者:pengpengzhou 方法:WeightedRandomIndex 功能:按照指定的一组权重随机返回数组索引 参数:weights []float32 权重切片 返回:加权随机索引in

pengpengzhou的博客 5021

告别裸奔MCU!手把手教你用MCP2515+STM32搭建稳定CAN总线通信(附完整代码)

本文详细介绍了如何使用MCP2515与STM32搭建稳定可靠的CAN总线通信系统,适用于汽车电子和工业控制领域。通过硬件架构设计、驱动层实现、数据收发实战及故障排查手册,帮助开发者快速掌握CAN通信技术,提升系统稳定性和开发效率。

weixin_28703489的博客 208

《低功耗方法学》翻译——第一章:介绍

第一章:介绍

记录所学,分享知识,结识挚友 2067

go数组array

go数组array

tiancityycf的专栏 1143

Android AVB 分析(十三)dm-verity 设备是如何映射的?

在上一篇《Android AVB 分析(十二)嵌入式设备安全中的 dm-verity 简介》介绍 dm-verity 原理的时候,作者提供了一个 dm-verity 演示的例子。本篇我们基于 AOSP 源码 `android-13.0.0_r41` 实际编译生成的 Google Pixel 7 (“panther”) 设备的 system 分区镜像进行 dm-verity 设备验证实战。

洛奇看世界 2438

oc 数组随机打乱 并取前N个元素

在日常的开发中,有时会需要将有序的数组随机打乱并取出前N个元素,现在假设有序的数组有10000个元素,随机打乱后取出前1000个元素,代码如下: NSMutableArray *shuffleArray = [NSMutableArray array]; for (int i = 0; i 10000; i++) {     [shuffleArray addObject

satan0325的专栏 2704

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

[洗牌算法] - 从长度为m的int数组中随机取出n个元素,每次取的元素都是之前未取过的

题目:从长度为m的int数组中随机取出n个元素,每次取的元素都是之前未取过的 Fisher-Yates洗牌算法是由 Ronald A.Fisher和Frank Yates于1938年发明的,后来被Knuth在书中介绍,很多人直接称Knuth洗牌算法, Knuth大家应该比较熟悉,《The Art of Computer Programming》作者,算法理论的创始人。我们现在所使用的各种算法复杂度分析的符号,就是他发明的。 等概率: 洗牌算法有些人也称等概率洗牌算法,其实发牌的过程和我们抽签一样的,大

103style 458

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

php从数组随机取n个元素,随机取出一维数组中的N个元素 PHP

$testArr = range(a, z);####### the first method$newArr = arrayRand($testArr);var_dump($newArr);function arrayRand($arr, $num = 3) {$arr1 = array_rand($arr, $num);$newArr = array();foreach ($arr1 as $...

weixin_39735288的博客 907

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

用python写一个随机取数组内n个元素的函数

答案: def get_random_elements(arr, n): import random result = [] for i in range(n): result.append(random.choice(arr)) return result

weixin_42593549的博客 230

python 数组中随机取n个

Python 数组中随机取 n 个元素的方法 Python 是一门强大的编程语言,它提供了丰富的库和函数,便于我们进行数组和数据处理。一个常见的需求是从一个数组中随机取出 n 个元素,这在数据分析、抽样调查、游戏开发等诸多场景中都有广泛的应用。在本篇文章中,我们将探讨如何实现这一功能,并提供相应的代码示例。 1. Pyth...

weixin_40526451的博客 292

Objective-C 随机数及数组随机取元素

Objective-C 随机数及数组随机取元素 APR 23 这里记录一下Objective-C随机数以及随机数在数组中的使用。 arc4random() 这个貌似是最好用的,听说比较精确,用起来也比较方便,不需要初始化随机种子。 0 - N-1: int value = arc4random() % x; 1 - N: int value

514

java 获取区间随机数_Java获取特定区间随机数及产生不重复随机数

问题有这样一种需求,在这样一个数组中String[] arr = new String[]{"电商", "互联网", "小程序", "网络推广", "文化", "教育", "造型设计", "服装设计"};,随机取n个选项且不重复,n随机且在1-m这个范围之内,其中m是个确定的数且m<=数组长度。思路取特定区间的一个随机数// 从区间[1,4]随机取一个数Random random = new...

weixin_32154667的博客 283

java 从m个数中取n个数据_【Java笔记】从m个数值中随机抽取n个

/**@version 1.20 2004-02-10@author Cay Horstmann*/import java.util.*;public class LotteryDrawing{public static void main(String[] args){Scanner in = new Scanner(System.in);System.out.print("How many n...

weixin_29208077的博客 850

生成若干个不重复的随机数数组

在start~end之间生成n个不重复整数数组 方法一 创建一个start到end的数组,随机的去除数组的下标,将其对应的值取出,如此反复,这样就可以实现永不重复。 function fn(n,start,end){ var arr = []; let result = []; for(let i=0;i<=(end-start);i++){ arr[i] = ...

weixin_33929309的博客 216

lc384打乱数组——怎么随机打乱一个数组?

怎么随机打乱一个数组呢?最常规的应该想到是,先n个数随机生成一个下标取出作为随机数组的第一个,然后移除这个数,后面的补上去,再n-1里面随机生成下一个下标,以此类推。可以在同一数组上随机打乱,随机生成一个下标后直接和最后一个交换,相当于最先抽到的放数组最右边,再依次往左边放,这样时间复杂度只有O(n),每生成一个只用swap交换一次,不用移动。,因为要移除那个数,然后再把后面的移过去补位。

qq_61587494的博客 283

写一个函数int get(),这个函数运行一次可以从V[N]里随机取出一个数,而这个数必须是符合1/N平均分布的...

题目:有一个函数int getNum(),每运行一次可以从一个数组V[N]里面取出一个数,N未知,当数取完的时候,函数返回NULL。现在要求写一个函数int get(),这个函数运行一次可以从V[N]里随机取出一个数,而这个数必须是符合1/N平均分布的,也就是说V[N]里面任意一个数都有1/N的机会被取出,要求空间复杂度为O(1)。 解法:设置一个整形num,用来存放get()返回的数。调用ge...

weixin_33804990的博客 231

Java获取特定区间随机数及产生不重复随机数

问题 有这样一种需求,在这样一个数组中String[] arr = new String[]{"电商", "互联网", "小程序", "网络推广", "文化", "教育", "造型设计", "服装设计"};,随机取n个选项且不重复,n随机且在1-m这个范围之内,其中m是个确定的数且m<=数组长度。 思路 取特定区间的一个随机数 // 从区间[1,4]随机取一个数 Random random ...

weixin_30455067的博客 125
上一篇: 算法的时间复杂度和空间复杂度
下一篇: Cocos Creator Web打包去除默认加载,定制Loading页
大头爱学习
博客等级 码龄7年 14粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值