【面试题45】约瑟夫环问题
来源:互联网 发布:老人去世六年无人知 编辑:程序博客网 时间:2024/06/05 02:26
【题目】0,1,。。。n排成一个圈,从0开始每次删除第m个数,求圆圈最后个数。
* 【思路】1 用数组模拟圆圈。当数到最后一个数即index==n时,令index==0 重头开始遍历;
* 当遇到已经被删除的数时nums[index]==-1,跳过继续;
* 【思路】1 用数组模拟圆圈。当数到最后一个数即index==n时,令index==0 重头开始遍历;
* 当遇到已经被删除的数时nums[index]==-1,跳过继续;
* 当走到指定m个数的时候,就将其删除掉,nums[index]=-1;
'
public class Solution { //n代表圆圈个数,m代表每次删第m个数 public int LastRemaining_Solution(int n, int m) { if(n<1 || m<1) return -1; int count=0;//计步器 int indexInNums=-1;//代表在圆圈中第几个数 //用数组模拟圆圈 int[] nums=new int[n]; int length=n; while(length>0){ indexInNums++; //到一圈尾部就重新开始 if(indexInNums==n) indexInNums=0; // if(nums[indexInNums]==-1) continue; count++; if(count==m){ nums[indexInNums]=-1; count=0; length--; } } return indexInNums; }}
0 0
- 【面试题45】约瑟夫环问题
- 面试题45:约瑟夫环
- 《剑指Offer》面试题:约瑟夫环问题
- 经典面试题-约瑟夫环
- 一个Java面试题(约瑟夫环问题)
- 一个Java面试题(约瑟夫环问题)
- 剑指offer面试题之约瑟夫环问题
- 【剑指Offer学习】【面试题45:圆圈中最后剩下的数字(约瑟夫环问题)】
- 面试题45:圆圈中最后剩下的数字(约瑟夫环问题)
- 面试笔试题约瑟夫问题详解
- 剑指Offer面试题45圆圈中最后剩下的数字(约瑟夫环问题),面试题46求1+2+...+n
- 剑指Offer 面试题45:圆圈中最后剩下的数字(约瑟夫环问题,ZOJ 1088:System Overload类似)题解
- 剑指offer面试题 圆圈中最后剩下的数字(约瑟夫环问题)
- 一道华为面试题的分析(约瑟夫问题)
- 面试题之约瑟夫问题-----循环链表简单详述
- 面试题之约瑟夫问题-----循环链表简单详述
- 面试题六 C/C++面试秘笈 之约瑟夫问题的解答--程序员面试题
- 约瑟夫环问题华为机试题
- Android内存泄漏分析及调试
- NVIDIA Jetson TK1学习与开发——简介(针对嵌入式系统应用释放 GPU 的潜能)
- Oracle:PL/SQL--流程控制(一)——条件结构:if-then、if-then-else、if-then-elsif
- 【Programming In Lua (2E) 笔记】5:使用C++为Lua编写扩展库(macOS上两种动态库格式的坑)
- redis总结
- 【面试题45】约瑟夫环问题
- 2016年终总结——回顾实习
- poj 1321 棋盘问题 (dfs 回溯)
- 数据结构学习笔记(一) 双列表管理应用
- 性能调优攻略
- Android 2016新技术
- Java对于静态的理解
- 限制程序中某类操作的执行次数的算法设计及C代码实现
- Android sdk自带的9patch工具(9妹)