面试题45:约瑟夫环
来源:互联网 发布:手机怎么联系淘宝卖家 编辑:程序博客网 时间:2024/05/19 18:45
问题:1,2,3,......,n-1,n这n个数字排成一个圆圈,从数字1开始每次从这个圆圈里删除m个数字。求出这个圆圈里剩下的最后一个数字。
思路:利用STL中的list来模拟这个操作。
int Joseph(int n, int m){ list<int > numbers; for(int i = 1; i <= n; i++) numbers.push_back(i); list<int >::iterator current = numbers.begin(); list<int >::iterator next; while(numbers.size() > 1) { for(int i = 1; i < m; i++) { current ++; if(current == numbers.end()) current = numbers.begin(); } cout<<*current<<endl; next = ++current; //迭代器只能进行++ 不能进行+1 if(next == numbers.end()) next = numbers.begin(); current--; numbers.erase(current); current = next; } return *current;}
0 0
- 面试题45:约瑟夫环
- 【面试题45】约瑟夫环问题
- 经典面试题-约瑟夫环
- 《剑指Offer》面试题:约瑟夫环问题
- 剑指offer面试题45圆圈中最后一个数字,约瑟夫环模拟和数学解法
- 剑指offer 面试题45—圆圈中最后剩下的数字(约瑟夫环)
- 【剑指Offer学习】【面试题45:圆圈中最后剩下的数字(约瑟夫环问题)】
- 面试题45:圆圈中最后剩下的数字(约瑟夫环问题)
- 一个Java面试题(约瑟夫环问题)
- 一个Java面试题(约瑟夫环问题)
- 常见C语言面试题之十一:约瑟夫环
- 微软,Google面试题 (14) —— 约瑟夫环
- 面试题—Java递归实现约瑟夫环
- 剑指offer面试题之约瑟夫环问题
- 链表常见面试题二:约瑟夫环
- 【单链表经典面试题解析四】用单链表实现约瑟夫环
- 剑指Offer面试题45圆圈中最后剩下的数字(约瑟夫环问题),面试题46求1+2+...+n
- 面试笔试题约瑟夫问题详解
- oracle 函数to_char(数据,'FM999,999,999,999,990.00') 格式化数据
- [LeetCode] 13. Roman to Integer java
- jdk HttpURLConnection类请求http接口工具类
- java注解初步
- JSON net.sf.json
- 面试题45:约瑟夫环
- 北京捷文科技有限公司Android笔试题
- 本地和远程机器之间传输数据使用winscp
- 嵌入式面试题——C语言面试题(二)
- tomcat配置http转换https
- windows获取进程的微软的不错例子Taking a Snapshot and Viewing Processes
- java基础2-面向对象
- 微信小程序入门五: wxml文件引用、模版、生命周期
- Android自定义View系列笔记收录