fFee-ops's Blog
03
04
剑指 Offer 20. 表示数值的字符串 剑指 Offer 20. 表示数值的字符串
剑指 Offer 20. 表示数值的字符串 解题思路 代码 解题思路这题乍一看题目都看不懂???其实只要总结一下规律,只有以下几种情况是合法的: ‘.’出现正确情况:只出现一次,且在e的前面 ‘e’出现正确情况:只出现一次,且出现
2021-03-04
04
剑指 Offer 19. 正则表达式匹配 剑指 Offer 19. 正则表达式匹配
剑指 Offer 19. 正则表达式匹配 解题思路 代码 解题思路dp数组含义:dp[i][j] 代表 A的前 i 个字符和 B 的前 j 个字符能否匹配 转移方程: 需要注意,由于 dp[0][0]代表的是空字符的状态, 因此 d
2021-03-04
03
剑指 Offer 18. 删除链表的节点 剑指 Offer 18. 删除链表的节点
剑指 Offer 18. 删除链表的节点 解题思路 代码 解题思路单链表,一看就用快慢指针。没啥说的 代码/** * Definition for singly-linked list. * public class ListNo
2021-03-03
03
剑指 Offer 17. 打印从1到最大的n位数 剑指 Offer 17. 打印从1到最大的n位数
剑指 Offer 17. 打印从1到最大的n位数 解题思路 解题思路详情见这篇题解。以下的代码是考虑大数、n从0开始、返回的是字符串的解题代码 class Solution { int[] res; int cou
2021-03-03
03
剑指 Offer 16. 数值的整数次方 剑指 Offer 16. 数值的整数次方
剑指 Offer 16. 数值的整数次方 解题思路 代码 解题思路这题用快速幂 来解决。重点:快速幂计算x^n 时,把n看成二进制数。 举例: 状态 遍历位 n base res 初始化 -- 10
2021-03-03
03
03
03
剑指 Offer 14- II. 剪绳子 II 剑指 Offer 14- II. 剪绳子 II
剑指 Offer 14- II. 剪绳子 II 解题思路 代码 解题思路和剪绳子Ⅰ 思路一样,多了个取模运算而已。 代码class Solution { public int cuttingRope(int n) {
2021-03-03
03
剑指 Offer 14- I. 剪绳子 剑指 Offer 14- I. 剪绳子
剑指 Offer 14- I. 剪绳子 解题思路 代码 解题思路本题可以使用动态规划和贪心算法,但是由于贪心算法比动态规划要快!所以我们选择贪心算法。 其实这个题目有数学的规律,也即是把绳子切分成长度为3的小段,并且切分成的段越多,乘
2021-03-03
03
剑指 Offer 13. 机器人的运动范围 剑指 Offer 13. 机器人的运动范围
剑指 Offer 13. 机器人的运动范围 解题思路 代码 解题思路本题是是典型的搜索问题,可以用DFS来解决。这题右两个 前置知识需要理解。 数位之和计算:可通过循环求得数位和 s ,数位和计算的封装函数如下所示 int sum
2021-03-03
03
剑指 Offer 12. 矩阵中的路径 剑指 Offer 12. 矩阵中的路径
剑指 Offer 12. 矩阵中的路径 解题思路 代码 解题思路本问题是典型的矩阵搜索问题,可使用 深度优先搜索(DFS)+ 剪枝 解决。 代码class Solution { public boolean exist(ch
2021-03-03
03
剑指 Offer 11. 旋转数组的最小数字 剑指 Offer 11. 旋转数组的最小数字
剑指 Offer 11. 旋转数组的最小数字 解题思路 代码 解题思路排序数组的查找问题首先考虑使用 二分法 解决。 流程: 初始化: 声明了l;,r双指针分别指向 nums 数组左右两端; 循环二分: 设 mid 为每次二分的中点
2021-03-03
16 / 26