1. 程式人生 > >從0到某個數不重複隨機數獲取

從0到某個數不重複隨機數獲取

需求:定義list集合從0開始,到自定義整數的隨機數,要求不重複

實現:定義一個listA集合從0開始,到自定義整數順序排列,獲取一個隨機數,並查詢在listA的位置,替換相應位置的數為size,並將這個隨機數儲存到listB

程式碼:

public static List<Integer> randomIndexes1(int size){
		List<Integer> key=new ArrayList<>();
		List<Integer> result=new ArrayList<>();
		for(int i =0 ;i<size;i++){
			key.add(i);
		}
		for(int i=0 ;i<size;i++){
			boolean flag=true;
			while(flag){
				int randmonnum=(int) Math.round(Math.random()*(size-1));
				int index=key.indexOf(randmonnum);
				if(index>=0){
					flag=false;
					key.set(index, size);
					result.add(randmonnum);
					break;
				}
			
			}
		}
		return result;
	
	}

相關推薦

0個數重複隨機數獲取

需求:定義list集合從0開始,到自定義整數的隨機數,要求不重複 實現:定義一個listA集合從0開始,到自定義整數順序排列,獲取一個隨機數,並查詢在listA的位置,替換相應位置的數為size,

指定範圍獲取指定個數的正序排列的重複隨機數

/** * 隨機數排序 * */ private void paiXun(int [] i){ List<String> list=new ArrayList<Stri

[js][技巧]生成指定範圍指定個數重複隨機數

今天偶然看到的 比如要生成 1-100範圍之內的10個不重複隨機數,程式碼就可以這麼寫 var arr = []; for (var i = 1; i <=100; i++) { arr.push(i); } arr.sort(

獲取重複隨機數

今天重新考慮了一下獲取隨機數的方法; 如果不考慮重複數,那個簡單,就是random一下就行; 如果考慮到去重,那麼現在看可以有兩種大致方向; 第一種就是在獲取的結果集上進行去重, 第二種就是在資料來源頭上刪除已經獲取的數字; 第一種:

iOS獲取重複隨機數陣列

//獲取到num個不同的隨機數就返回隨機數陣列 -(NSMutableArray *)getDifferentRandomWithNum:(NSInteger )num{ if(self.randomArr &&self.randomArr.count>0){        

知識點14:陣列記憶體儲1-100的重複隨機數問題

問題描述:在一個長度為100的數組裡隨機插入100個1-100內的隨機數,要求隨機數不能重複,並且不能使用其他型別的資料結構。僅可以使用陣列完成。 解法1: /** * 解題思路: * 隨機生成1-100裡面的數字z * . * 判斷是否在數組裡面存活 * 如果存活,則拋

生成重複隨機數序列(Java)

從1到n之間抽取出k個不重複的隨機數,用Math.random()實現的話,可參照下面的程式碼。 int r = (int) (Math.random() * n), 生成下標,據此下標,去到numbers數組裡拿到隨機數。然後將numbers[r]的值設定成

產生個N個重複隨機數數的快速演算法

虛擬碼int startArray[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};//seed arrayint length = sizeof(startArray)/sizeof(int);     int N = 10;//隨

JS在一定範圍內取出一定的重複隨機數

//迴圈建立一個數組的函式 function randomArr(maxcount){ var arr = []; for(var i=0;i<maxcount;i++){ a

生成重複隨機數,自己寫的,嘿嘿

package 基礎演算法; import java.util.Arrays; public class radomNums { public static void main(String[] args){ int[] array=new int[8]; i

PHP產生重複隨機數的5個方法總結

方法一: <?php  $numbers = range (1,50);  //shuffle 將陣列順序隨即打亂  shuffle ($numbers);  //array_slice 取該陣列中的某一段  $num=6;  $result = a

PHP 產生重複隨機數的方法(一)

1.首先通過rand()函式獲取一個長度固定的陣列。 例如:$numbers = rand(6,50); 這條語句是可以產生6到50個數字,是按順序排列的。 接著我們需要打亂這個順序,產生45個無序的陣列成一個數組,這時就需要用到php中的shuffle()函式。 例如:s

PHP高效生成一個重複隨機數

PHP高效產生m個n範圍內的不重複隨機數(m<=n) 注:在《 Programming Pearls 》一書中也有提到,題目為“如何高效產生m個n範圍內的不重複隨機數(m<=n)” 該演算法非常巧妙的取隨機數的位置(陣列的下標),替代取隨機數本身,每次取到一個隨機數之後,就將其在取值範圍

scala集合中提取重複的元素

Problem     你有一個集合,內部有很多重複元素,你想要把這些重複的元素只保留一份。 Solution     使用Distinct方法: scala> val x = Vector(1, 1, 2, 3, 3, 4) x: scala.collection.

100個在0-100的重複的隨機數字

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 隨機數 { class Program { st

C#產生一組重複隨機數的兩種方法

最近在開發專案的過程中,需要產生一些隨機數,如果我們簡單的用C#中的Random.Next方法,很難產生一組少重複的隨機數(當然是偽隨機數),在網上也看了很多方法,貌似也不可行,或者比較複雜。於是,參考網上的一些方法,自己寫了兩個個產生一組偽隨機數的方法。 方法一的程式碼如

C語言、Java兩種方式下的——規定範圍內重複隨機數

示例1:C語言版 #include <stdio.h> #include <stdlib.h> #include <time.h> //隨機產生規定個數的不重複數字 int findSame(int *arr, int in, int

mysql生成重複隨機數(unique number generation)

問題來源 業務中有時會遇到要生成不重複隨機數的情況,例如,新生成一個商品編號、房間編號、或者其他物品編號等。不願意採用表的自增索引 id,同時又希望新生成的編號是不重複的。 這就需要考驗mysql的隨機數功能了。 Solution mysql的rand函

sql 生成隨機數 以及重複隨機數

背景:想在表中隨機取10條記錄,讓取出來的資料不重複(表中必須是有個遞增列,且遞增從1開始間隔為1)。  資料表: CREATE TABLE testable  (  id INT  IDENTITY(1,1),  myname  NVARCHAR(1000),  insertedTime DATETIME

生成重複隨機數的方法 --抽獎問題等

問題描述: 給定一個n,一個m 要求在1 ~ n這n個數字中,生成m個不重複的隨機數。 思路: 生成隨機數大家都知道,C++中也提供了相關的函式——rand()。 但是問題中要求生成的是無重複的隨機數,這裡就需要對生成的隨機數進行去重操作了。 首選最