zoukankan      html  css  js  c++  java
  • 约瑟夫环问题

    今天在做面试题时,用递归解决了约瑟夫环问题;

    =======================================================================================

    public class Test extends Sprite {

    /**存储当前人数*/

    private var arr:Array = [];

    /**总人数*/

    private static const TOTAL:int = 10;

    /**间隔*/

    private static const NUM:int = 3;

    /**初始位置*/

    private var startIndex:int = 0;

    public function Test() {

    initArr();

    find(startIndex);

    }

    /**初始化数组*/

    private function initArr():void{

    arr = [];

    for (var i:int = 1; i <= TOTAL; i++){

    arr.push(i);

    }

    }

    /**从指定的index处开始查找第NUM个数*/

    private function find(index):int{

    if ( arr.length > 1){

        var i:int = (index + NUM - 1) % arr.length;

        trace("出队序号:" + arr[i]);

        resetArr(i);

        return find(i);

    }else{

         trace("最后一个:" + arr[0]);

         return 0;

           }

    }

    /**去掉被踢出的人*/

    private function resetArr(index:int):void{

    for (var i:int = index; i < arr.length-1; i++){

    arr[i] = arr[i+1];

    }

    arr.pop();

    }

    }

  • 相关阅读:
    nth-of-type()的用法
    H5禁止底部横向滚动条,使一个元素居中
    CRM项目-1模型与站点管理
    django-debug-toolbar
    python发送邮件
    os 模块
    Django(三) ORM操作
    Django框架初识
    JS 正则表达式
    前端-高潮 jQuery
  • 原文地址:https://www.cnblogs.com/maomaolw3/p/4951629.html
Copyright © 2011-2022 走看看