“`java
class Solution {
//有点意思
public int iceBreakingGame(int num, int target) {
int f = 0;
for (int i = 2; i < num + 1; i++) {
f = (f + target)%i;
}
return f;
}
}
class Solution {
public:
int lastRemaining(int n, int m) {
if (n == 0) {
return n;
}
// 优化
int res = 0;
for (int i = 1; i <= n; i++) {
res = (res + m) % i;
}
return res;
}
};
“`C++
public int lastRemaining(int n, int m) {
// (当前index + m) % 上一轮剩余数字的个数。
int res = 0;// 最后只剩下一位,坐标肯定是0
for (int i = 2; i <= n; i++) {
res = (res + m) % i;
}
return res;
}
```
public int lastRemaining(int n, int m) {
// (当前index + m) % 上一轮剩余数字的个数。
int res = 0;// 最后只剩下一位,坐标肯定是0
for (int i = 2; i <= n; i++) {
res = (res + m) % i;
}
return res;
}
//约瑟夫环/动态规划,思路积累
class Solution {
public:
int lastRemaining(int n, int m) {
int result = 0;
for (int i = 2; i <= n; ++i) {
result = (result + m) % i;
}
return result;
}
};
共以下 9 个回答
“`java
class Solution {
//有点意思
public int iceBreakingGame(int num, int target) {
int f = 0;
for (int i = 2; i < num + 1; i++) { f = (f + target)%i; } return f; } }
时间复杂度:O(n)
空间复杂度:O(1)
时间O(n)
“`C++
public int lastRemaining(int n, int m) {
// (当前index + m) % 上一轮剩余数字的个数。
int res = 0;// 最后只剩下一位,坐标肯定是0
for (int i = 2; i <= n; i++) { res = (res + m) % i; } return res; } ```
时间复杂度O(n)
动态规划
时间:O(n)
空间:O(1)
不太懂