11-20题解

52 阅读1分钟

第一遍没有通过或者没有思路的题目的题目

剑指 Offer 11. 旋转数组的最小数字

这个题用二分 + 双指针

这题的目标就是找到旋转点 两个指针指向两个数组的端点

  • 二分的本质并非是单调性 而是一段满足某一种性质 另一段不满足这种性质
  • 旋转后这种二段性并没有消失
  • 注意要进行去重因为如果数值相同无法判断在哪一段

剑指 Offer 14- I. 剪绳子

进行数学推导发现当因子是3时最大

  • 当除3的余数是2时候不拆
  • 当余数是1时拆成 2 * 2 因为2 * 2 > 1 * 3;

剑指 Offer 14- II. 剪绳子 II

快速幂 或者得开long long

第一遍成功做出来且自己的做法是最优的题目

剑指 Offer 12. 矩阵中的路径

dfs做法很简单就能做出来

剑指 Offer 16. 数值的整数次方

经典的快速幂做法不是很难

做出来但还有多种解法/更优秀解法的题目

剑指 Offer 15. 二进制中1的个数

  1. 每次与1想& 再右移一位
  2. n和n-1相&

剑指 Offer 17. 打印从1到最大的n位数

  • 这题实际的意思是想实现大数的写法 用dfs全排列来做很简单