LeetCode 384. 打乱数组(rand)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 384. 打乱数组(rand)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
打亂一個沒有重復元素的數組。
示例:// 以數字集合 1, 2 和 3 初始化數組。 int[] nums = {1,2,3}; Solution solution = new Solution(nums);// 打亂數組 [1,2,3] 并返回結果。任何 [1,2,3]的排列返回的概率應該相同。 solution.shuffle();// 重設數組到它的初始狀態[1,2,3]。 solution.reset();// 隨機返回數組[1,2,3]打亂后的結果。 solution.shuffle();來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/shuffle-an-array
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
- 遍歷每個數字,將其與隨機位置的數字交換
for(i = 0; i < n; ++i)
swap(ans[i], ans[rand()%n]);
總結
以上是生活随笔為你收集整理的LeetCode 384. 打乱数组(rand)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员面试金典 - 面试题 17.16.
- 下一篇: 程序员面试金典 - 面试题 08.05.