分享

优酷一道面试题

 jsonhan 2013-09-25
public int numberToExit(int total, int interval) {
 boolean[] arr = new boolean[total];
 for(int i = 0; i < arr.length; i++) {
  arr[i] = true;
 }
 
 int left = arr.length;
 int count = 0;
 int index = 0;
 while (left > 1) {
  if(arr[index] == true) {
   count++;
   if(count == 3) {
    count = 0;
    arr[index] = false;
    left--;
   }
  }
  // we need to change the index if out of range.
  index++;
  if(index == arr.length) {
   index = 0;
  }
 }
 for(int i = 0;i < arr.length; i++) {
  if(arr[i] == true) {
   return i+1;
  }
 }
 return -1;
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多