算法练习-002-返回一个set数组
生活随笔
收集整理的這篇文章主要介紹了
算法练习-002-返回一个set数组
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
題目描述: 寫一個函數,它的作用是接受一個整數(假設為num),返回一個數組,數組的長度為num, 數組中的內容為隨機的0至(num-1)的值,并且不能重復。比如num為5的話,數組可能是[1,0,3,2,4]。
這道題目感覺很簡單,先給出一種方案,可能有更好的方案。
方案1:
public int[] setArray(int number){Random random = new Random();Map<Integer, Integer> map = new HashMap<>();int array[] = new int[number];for (int i = 0; i < number; i++) {int n = random.nextInt(number);while(map.containsKey(n)){n = random.nextInt(number);}map.put(n, n);array[i]= n;}return array;}?
測試: 輸入number = 10000 用時13ms輸入number = 100000 用時123ms
?
轉載于:https://www.cnblogs.com/slowcity/p/9947977.html
總結
以上是生活随笔為你收集整理的算法练习-002-返回一个set数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 04-异常处理-动手动脑
- 下一篇: C++ 11