关注
算法题解法:
//解法:使用 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
相关推荐
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
4655次浏览 68人参与
# 找工作的破防时刻 #
251678次浏览 1953人参与
# 程序员找工作至少要刷多少题? #
9357次浏览 146人参与
# 你投递的公司有几家约面了? #
157799次浏览 995人参与
# 论秋招对个人心气的改变 #
5919次浏览 104人参与
# 我的AI电子员工 #
26156次浏览 159人参与
# OPPO求职进展汇总 #
770956次浏览 5396人参与
# 为了减少AI幻觉,你注入过哪些设定? #
1869次浏览 54人参与
# 刚入职的你踩过哪些坑 #
4210次浏览 91人参与
# 程序员能干到多少岁? #
5789次浏览 90人参与
# 一张图晒一下你的AI员工 #
2981次浏览 62人参与
# 牛客AI体验站 #
3379次浏览 91人参与
# 我现在比当时_,你想录用我吗 #
3681次浏览 63人参与
# 想辞职但是不敢的原因 #
20169次浏览 88人参与
# ai智能作图 #
624752次浏览 5627人参与
# AI Coding的使用心得 #
2353次浏览 60人参与
# 关于春招/暑期实习,你想知道哪些信息? #
3975次浏览 84人参与
# 牛客租房专区 #
146752次浏览 1464人参与
# 晒晒你司的新年福利 #
4002次浏览 70人参与
# 虾皮求职进展汇总 #
373418次浏览 2792人参与
美的集团公司福利 873人发布