丢手帕问题

Posted guoDaXia的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了丢手帕问题相关的知识,希望对你有一定的参考价值。

丢手帕问题

传入的参数变量:多少个人 count,第一个开始的位置   start, 每次丢几个  size
传出:最后出列者的编号

public int[] ignoreOne(int[] src, int startIndex, int size){
    if(src.length == 1){
        return src;
    }else{
        for(int i = 0; i < src.length; i++){
            size--;
       
if(size == 0){ ignoreOne(deleteAttr(src,i), i, size); }
        if(i == src.length-1){
                i = -1;
            }
        }
    }
}

public int[] deleteAttr(int[] src, int index){
    int[] target = new int[src.length-1];
    System.arraycopy(src, 0, target, 0, index);
    System.arraycopy(src, index+1, target, index, scr.length-index-1);
    return  target;
}

 

以上是关于丢手帕问题的主要内容,如果未能解决你的问题,请参考以下文章

约瑟夫问题的理解与解决(丢手帕问题)

环形链表---Java

算法与数据结构 Part 1

数据结构与算法: 约瑟夫问题(丢手绢)

算法题之丢手绢问题

[NC207040]丢手绢