zoukankan      html  css  js  c++  java
  • 生成不重复的随机数(补充,以前写的)

    package com.demo.sw.test;
    
    /**
     * 
     * @author M.J
     *
     */
    public class NoReaptNum {
    	public static void main(String[] args) {
    		generateNoRepeatNums1();
    		generateNoRepeatNums2();
    	}
    
    	// 自己以前写过的方法
    	// 1、2两个方法大同小异,只是使用了不同的循环方式,仔细看看代码应该都理解
    	// 还有一篇是用 Set 写的,由于去某个 XX NB 国际公司面试,没有任何准备,结果很惨,
    	// 于是乎回家仔细研究,用 Set 在次写完后,忽然发现了,以前写的这个版本,同时也贴出来,告诫自己,同时供大家参考
    	public static void generateNoRepeatNums1() {
    		int[] arr = new int[100]; // 定义结果数组
    		boolean f = true; // 中间变量用来判断是有有重复的值
    		int x; // 每次随即生成的数
    
    		for (int i = 0; i < arr.length; i++) {
    			x = (int) (Math.random() * 200 + 1);
    			for (int j = 0; j < i; j++) {
    				if (arr[j] == x) {
    					f = false;
    					break;
    				} else {
    					f = true;
    				}
    			}
    			if (f) {
    				arr[i] = x;
    			} else {
    				i--;
    			}
    		}
    
    		prtArr(arr);
    	}
    
    	public static void generateNoRepeatNums2() {
    		int[] arr = new int[100];
    		int temp;
    		boolean f = true;
    
    		int i = 0;
    		while (i < arr.length) {
    			temp = (int) (Math.random() * 200 + 1);
    			for (int j = 0; j < i; j++) {
    				if (arr[j] == temp) {
    					f = false;
    					break;
    				} else {
    					f = true;
    				}
    			}
    
    			if (f) {
    				arr[i] = temp;
    				i++;
    			}
    		}
    
    		prtArr(arr);
    
    	}
    	
    	public static void prtArr(int[] arr){
    		for (int j = 0; j < arr.length; j++) {
    			if (j % 10 == 0) {
    				System.out.println();
    			}
    			System.out.print(arr[j] + " ");
    
    		}
    	}
    
    }
  • 相关阅读:
    AcWing 1027. 方格取数 dp
    AcWing 1014. 登山 dp
    acwing 482. 合唱队形 dp
    LeetCode 1463. 摘樱桃II dp
    LeetCode 100. 相同的树 树的遍历
    LeetCode 336. 回文对 哈希
    LeetCode 815. 公交路线 最短路 哈希
    算法问题实战策略 DARPA大挑战 二分
    算法问题实战策略 LUNCHBOX 贪心
    AcWing 1100. 抓住那头牛 BFS
  • 原文地址:https://www.cnblogs.com/icenter/p/1988833.html
Copyright © 2011-2022 走看看