亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

約瑟夫環問題注釋和代碼暫存

標簽:
Java

package yuesefu.oneslide;

public class xuesefu {

/**
 * @param args
 * 约瑟夫环问题:
 *     求解类型:找到最后一个幸存者的原数组索引。
 *     也就是说有这样一份罪犯列表:
 *     {
 *     //tuple类型元素,找到幸存者的名字,这样我们可以通过原数组的索引找到这个名字
 *     [John smith,0]
 *     [Barry Alan,1]
 *     [michell white,2]
 *     
 *     }
 * 首先指定一个犯人,将其赋值于start。
 * 定义一个数组首先初始化为从1 2 3 ....count的数组,定义为con
 * 两条重要规则:
 *1. 数组的值记录的永远是犯人的原编号(第一个数组中的索引)
 *2. 数组的索引con1 con2永远记录犯人所报的数
 * 
 * 指定第一个开始报数的犯人的值为1,其索引为start-1
 *     con[start-1]=1
 *     假设获得死刑犯人敏感数为n,即是只要他报到n,那他就死定了,并作为下一个数组的头号节点,当下一个准死刑犯人找到
 *     他就会被干掉;
 *     作为数组头号节点的处理逻辑:
 *     第一次指定是特殊的,因为此犯人不执行死刑。但是第一次他是头号数组元素
 *        第一个准死刑犯人的索引:
 *             con[start-1+n-1]=con[start-n+1]
 *       创建一个新的数组con2,用第一个元素来代表准死刑犯人;
 *       此时应将start保存第一个准死刑犯人:start=start-n+1以便传入函数con1
 *       con2[0]=start
 *       con2[1]=start+1
 *       ...
 *       找到下一个准死刑犯人:
 *       
 *         con2[n]=start+n<count(犯人总数)
 *       如果start>count:
 *         
 *    
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub

}
int[] deal(int[] arr1,int count,int n,int start){
    //count是犯人数目,n是中奖死刑,规定arr1[0]为中死刑奖的犯人索引
    arr1[start-1]=1;//指定犯人的索引

    start=start+n-1;

    return arr1;
}
int[] con2(int[] arr2,int count,int n,int start){

    return arr2;    
}

}

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消