剑指offer——面试题45:圆圈中最后剩下的数字(孩子们的游戏)
2018-03-26 11:18
281 查看
剑指offer——面试题45:圆圈中最后剩下的数字(孩子们的游戏)
Solution1:自己想的垃圾算法class Solution { public: int LastRemaining_Solution(int n, int m) { vector<int> nums(n,0); int temp_count = 0, count = 0, i = 0; //nums[]初始化为n个0,temp_count检查是否到了m,count检查数组中1的数目是否到了n-1,i是计数用的 while(count < n - 1) { if(nums[i] == 0) { //nums[i] == 0的情况,temp_count计数+1 temp_count++; if(temp_count == m) { //temp_count到了m nums[i] = 1; count++; temp_count = 0; i++; if(i == n) i = 0; } else { //temp_count未到m i++; if(i == n) i = 0; } } else { //nums[i]==1的情况,直接跳过 i++; if(i == n) i = 0; } } for(i = 0; i < n; i++){ if(nums[i] == 0) return i; } return -1; //无解情况返回-1,一般都这样 } };
相关文章推荐
- 剑指offer 面试题45—圆圈中最后剩下的数字(约瑟夫环)
- 剑指offer 面试题45 圆圈中最后剩下的数字
- 《剑指Offer》学习笔记--面试题45:圆圈中最后剩下的数字
- 面试题45 孩子们的游戏(圆圈中最后剩下的数)
- 《剑指offer》面试题45 圆圈中最后剩下的数字(Java版本)
- 剑指offer47题(孩子们的游戏:圆圈中最后剩下的数字)
- 剑指Offer面试题45(Java版):圆圈中最后剩下的数字
- 剑指offer--面试题45: 孩子们的游戏(圆圈中最后剩下的数)
- (剑指Offer)面试题45:圆圈中最后剩下的数字
- 剑指offer | 训练题45:孩子们的游戏(圆圈中最后剩下的数)
- 剑指Offer系列-面试题45:圆圈中最后剩下的数字
- 【剑指Offer】面试题45:圆圈中最后剩下的数字
- 面试题45:圆圈中最后剩下的数字
- 剑指Offer——孩子们的游戏(圆圈中最后剩下的数)
- 剑指Offer 面试题45:圆圈中最后剩下的数字(约瑟夫环问题,ZOJ 1088:System Overload类似)题解
- 面试题 45: 圆圈中最后剩下的数字
- 剑指offer:孩子们的游戏(圆圈中最后剩下的数)
- 面试题45—圆圈中最后剩下的数字
- 孩子们都游戏(圆圈中最后剩下的数字)
- 牛客:剑指offer:孩子们的游戏(圆圈中最后剩下的数) (Java)