关注
算法题解法:
//解法:使用 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 评论
相关推荐
点赞 评论 收藏
分享
10-24 18:36
武汉理工大学 C++ 点赞 评论 收藏
分享
11-06 14:40
哈尔滨工程大学 图像识别 点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
248151次浏览 2013人参与
# 学历or实习经历,哪个更重要 #
41119次浏览 300人参与
# 北方华创开奖 #
22824次浏览 259人参与
# 地方国企笔面经互助 #
2557次浏览 6人参与
# 你最想要的公司福利是? #
40044次浏览 126人参与
# 选完offer后,你后悔学本专业吗 #
10490次浏览 75人参与
# 面试题刺客退退退 #
137194次浏览 2092人参与
# 国企/银行/研究所公司爆料 #
89745次浏览 412人参与
# 应届生被毁约被毁意向了怎么办 #
27167次浏览 238人参与
# 一觉醒来,我觉醒了超级打工人系统 #
2910次浏览 35人参与
# 机械应届生薪资要多少才合适? #
12397次浏览 60人参与
# 查收我的offer竞争力报告 #
16833次浏览 228人参与
# 校招入职后的感受 #
156969次浏览 1961人参与
# 你觉得第一学历对求职有影响吗? #
14894次浏览 121人参与
# 没有实习经历,还有机会进大厂吗 #
805158次浏览 13814人参与
# 我的工作日记 #
21208次浏览 270人参与
# 不给转正的实习,你还去吗 #
1517088次浏览 16968人参与
# 寒假躺平还是提前实习 #
58453次浏览 438人参与
# 总结:哪家公司面试体验感最差 #
25769次浏览 129人参与
# 秋招OC许愿 #
226696次浏览 1872人参与
# 如何写一份好简历 #
602252次浏览 8442人参与