生成一个长度为10的整数数组,数组中每个元素都不同(数组中值的范围为1~20)

public static void main(String[] args) {

//方法一:利用for循环
// int arr[]=new int[10];
// for (int i = 0; i < arr.length; i++) {
// arr[i]=r.nextInt(20)+1;
// for (int j = 0; j < i; j++) {
// if(arr[i]==arr[j]){
// i--;
// }
// }
// }
// System.out.println(Arrays.toString(arr));

//方法二  set集合

HashSet<Integer> hashSet = new HashSet<>();

Random r = new Random();
while (hashSet.size() < 10) {

hashSet.add(r.nextInt(10));
//System.out.println("执行了");
}
System.out.println(hashSet);

}

时间: 2024-10-10 19:52:43

生成一个长度为10的整数数组,数组中每个元素都不同(数组中值的范围为1~20)的相关文章

43.C#--写一个长度为10的集合,要求里面随机存放10个数字0-9,要求里面所有数字不能重

static void Main(string[] args){//写一个长度为10的集合,要求里面随机存放10个数字(0-9)//要求里面所有数字不能重复ArrayList list = new ArrayList();Random r = new Random();for (int i = 0; i < 10; i++){int rNumber = r.Next(0, 10);//集合中没有这个随机数if (!list.Contains(rNumber)){list.Add(rNumber)

假设有两个数组,其中的元素都是数字,现在要对其排序

假设有 number,group,两个数组,其中的元素都是数字,现在要对其排序排序的规则如下: 1.如果 group里面元素,存在于numbers了里面 2.要把出现在 group 内的数字 放在 number 的那些数字之前,注意排序 numbers = [8, 3 ,1, 2, 5,4,7,6] group = {2,3,5,7} 分析了下,应该是优先级的问题,这里使用了元组排序的方法: numbers = [8, 3 ,1, 2, 5,4,7,6] group = {2,3,5,7} tm

转:在0~N(不包括N)范围内随机生成一个长度为M(M &lt;= N)且内容不重复的数组

1. 最朴素暴力的做法. void cal1() { int i = 0, j = 0, num = 0; int result[M]; result[0] = rand() % N; //第一个肯定不重复, 直接加进去 for (i = 1; i < M; i++) //获得剩下的(M-1)个随机数 { num = rand() % N; //生成0 ~ N之间的随机数字 for (j = 0; j < i; j++) { if (num == result[j]) //如果和result数

Ex 2_23 如果一个数组超过半数的元素都相同时,该数组被称为含有一个主元素..._第二次作业

将数组A划分为两个数组A1和A2 ,各含有A的一半元素或一半多一个.若A中含有主元素x,则A1和A2中至少有一个数组含有主元素x,对A1和A2递归地计算有无主元素,若A只含有一个元素,则A的主元素就是这个元素,否则计算出A1和A2的主元素x1和x2: 若x1和x2都不存在,则A不存在主元素 若x1和x2有一个存在,则检查这个元素是否为A的主元素 若x1和x2都存在且不相等,则分别检查这个元素是否为A的主元素 若x1和x2都存在且相等,则这个元素就是A的,主元素 1 package org.xiu

统计数组[1-n]中各个元素出现的次数,时间复杂度O(n),空间复杂度O(1),可改变数组结构

* 统计数组中每个元素出现的次数 * 数组长度为N,每个元素范围为[1,N]. * 统计各个元素出现的次数,要求时间复杂度为O(N),空间复杂度为O(1).可以修改数组中元素的值. * * 思路:遍历到每一个元素,将该(元素值 - 1)作为下标值,将该下标的元素赋值(若为正,赋值-1:若为负值,-1) * 最后,每个下标中存储的元素即为统计次数,而下标+1即为元素值. 代码: public static void main(String[] args) { // TODO Auto-genera

随机获取一个集合(List, Set,Map)中的元素&lt;转&gt;

import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Random; import java.util.Set; import com.google.common.collect.Maps; public class RandomUtils { private static Random random; //双重校验锁获取一个Random单例 public static Ra

javascript删除数组/对象中的元素

一.数组: 代码: /* @desc:删除数组中的元素 @param arr 原数组 @param item 数组索引,只能是数字索引 @param len 要删除的长度 @return arr 删除元素后的数组 */ function unset(arr,item,len = 1){ arr.splice(item,len) return arr } 测试: var arr = new Array(1,2,3,4) var ret = unset(arr,1,2) console.log(re

定义一个长度为10的整数说组,可用于保存用户通过控制台输入的10个整数,并计算他们的最大最小平均值。

1 import java.util.Scanner; 2 public class ArithMetic { 3 public static void main(String[] args) { 4 calcArr(); 5 } 6 public static void calcArr() 7 { 8 int[] arr = new int[10]; 9 int max = 0; 10 int min = 0; 11 int total = 0; 12 int avg = 0; 13 Scan

不使用loop生成一个长度n=100,每一项的数据类型为Number,值等于其下标的数组arry。

这两天在群里看到一组uc国际的面试题,趁有空,也过了一遍,题目如下: 简单做了一下,暂时实现方法如下: ①setTimeout计时器 var i = 0,k = [],j; function count(){ if(i > 100){ clearInterval(j); console.log(k); }else{ k[i] = i++; } } j = setInterval(function(){ count(); },20); ②递归 var rr = []; function sum(n