关注
算法题解法:
//解法:使用 Fisher-Yates 洗牌来确保所有元素都被随机打乱。
//在洗牌过程中,确保每个元素不会被放回到原位置上。
public static void shuffle(int[] arr) {
Random random = new Random();
for (int i = arr.length - 1; i >= 0; i--) {
int j = random.nextInt(i + 1);
// 确保每个元素不会在原来的位置
if (j == i) {
// 如果选择的下标和当前位置相同,选择另一个下标,确保不会是原位置
j = (j + 1) % (i + 1);
}
//swap
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
查看原帖
3 1
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
05-15 19:57
西安建筑科技大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
- 1... 后端实习什么算有产出5.4W
- 2... 悟已往之不谏,知来者之可追1.3W
- 3... 以Mentor视角,更喜欢有这些沟通技巧的实习生1.3W
- 4... 来算一算你的offer究竟到手工资多少!(详细教程)9642
- 5... 双非本秋招字节转正失败春招重新拿下字节和腾讯8422
- 6... 就是说有些招聘要求别太离谱噢7635
- 7... 找实习、找工作中如何管理好自己的情绪?7327
- 8... 【26届四段大厂】实习爆炸产出方法论 2.06722
- 9... 腾讯云智一面面经6317
- 10... 暑期实习后,如何完成学生到职场人的身份转换?6106
正在热议
更多
# 我的求职总结 #
22325次浏览 424人参与
# 我的工作日记 #
95960次浏览 1261人参与
# 毕业季,给职场新人一些建议 #
18549次浏览 349人参与
# 晒一晒你收到的礼盒 #
61323次浏览 369人参与
# 我的实习日记 #
2431948次浏览 25369人参与
# 辞职之后最想做的一件事 #
9578次浏览 156人参与
# Offer比较,求稳定还是求发展 #
48614次浏览 235人参与
# 薪资一样,你会选择去大厂还是小公司 #
15783次浏览 99人参与
# 你想吐槽公司的哪些规定 #
16623次浏览 65人参与
# 选offer应该考虑哪些因素 #
16527次浏览 269人参与
# 你见过最离谱的招聘要求是什么? #
187833次浏览 1401人参与
# 机械人还在等华为开奖吗? #
216802次浏览 1097人参与
# 第一份工作应该只看薪资吗 #
138171次浏览 1455人参与
# 秋招想进国企该如何准备 #
57444次浏览 374人参与
# 为了秋招你都做了哪些准备? #
10424次浏览 160人参与
# 在国企工作的人,躺平了吗? #
327202次浏览 3841人参与
# 你怀疑过自己的专业选择吗? #
17095次浏览 201人参与
# 牛客十周岁生日快乐 #
129238次浏览 1516人参与
# 你想留在一线还是回老家? #
37376次浏览 446人参与
# 你小时候最想从事什么职业 #
90981次浏览 1700人参与