knuth shuffle 从前向后决定排列元素实现问题

knuth shuffle 从前向后决定排列元素实现问题

1
2
3
4
5
6
7
public void shuffle2(int[] arr) {
    Random random = new Random();
    for(int i = 0; i < arr.length; i++) {
        int choseIndex = random.nextInt(arr.length - i) + i;
        swap(arr, choseIndex, i);
    }
}

老师,从前向后决定排列元素这种实现不对吗,我想了几遍好像没什么问题,但是通不过leetcode的检查

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
liuyubobobo 2022-11-05 11:31:20

请把能提交给 Leetcode 的完整代码给我。谢谢。

  • 提问者 小宇子upup #1

    老师回复好快,我发现了leetcode提交的问题在哪了,从idea copy进去的,数组没有拷贝一份,用的是存储在类实例变量里的数组,没注意看,不好意思,谢谢老师

    2022-11-05 11:33:51
  • 提问者 小宇子upup #2

    变量名忘记改了 -.-

    2022-11-05 11:34:58
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
算法与数据结构
  • 参与学习       2603    人
  • 解答问题       1096    个

慕课网算法名师Liuyubobobo,5年集大成之作 从0到工作5年,算法与数据结构系统解决方案

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码