剑指offer 14-Ⅰ剪绳子
解题思路:
真的无力吐槽求极点极值这种解题思路
我明说了我是废物点心
我就只能看懂这种方法
观察
可知
当n > 4时, 3越多, 乘积越多
所以
显然
得出下述解题代码
完毕
最后
对于这种数学题我真的会谢
class Solution {
public int cuttingRope(int n) {
if(n <= 3) return n - 1;
int sum = 1;
while(n > 4){
sum *= 3;
n -= 3;
}
return sum * n;
}
}
剑指offer 62.圆圈中最后剩下的数字
解题思路:
约瑟夫环牢记公式: f(n)=(f(n - 1) + m) % n关于公式解读, 详情观看这位大佬
class Solution {
public int lastRemaining(int n, int m) {
int res = 0;//约瑟夫游戏中最后存活者的位置
//最后一轮游戏中
//存活者只剩下两个人, 从2开始反推存活者真正的位置
for(int i = 2; i <= n; i++){//
res = (res + m) % i;
}
return res;
}
}



