- 博客(17)
- 资源 (18)
- 收藏
- 关注
原创 LeetCode 1278. 分割回文串 III
截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ提取码:6666371,背包问题系列之-基础背包问题//字符串的子串[left,right]变成回文串所需要修改的字符数private int change(String s, int left, int right) { int cou.
2021-08-31 22:23:22 718 52
原创 LeetCode 852. 山脉数组的峰顶索引
截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ提取码:6666之前讲过475,有效的山脉数组,而这题是让找出山脉数组的峰顶索引,我们看提示的最后一条是题目数据保证arr是一个山脉数组,也就是山脉数组一定是存在的,所以不需要判断,直接查找即可。山脉数组是先上升然后在下降,如果当前元素比右边挨着的小,说明.
2021-08-31 22:04:47 271
原创 LeetCode 1745. 回文串分割 IV
截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ提取码:6666ublic boolean checkPartitioning(String s) { for (int i = 0; i < s.length(); i++) { for (int j = i + 1; j <.
2021-08-31 21:57:06 211 1
原创 LeetCode 342. 4的幂
截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ提取码:6666public boolean isPowerOfFour(int num) { //负数不可能是4的幂 if (num <= 0) return false; //1是4的0次幂 if (n.
2021-08-31 21:51:17 224 1
原创 LeetCode 1049. 最后一块石头的重量 II
截止到目前我已经写了 500多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ提取码:6666if (j >= stones[i - 1]) { dp[i][j] = Math.max(dp[i - 1][j], dp[i - 1][j - stones[i - 1]] + stones[i - 1]);} else .
2021-08-16 14:08:04 456 9
原创 LeetCode 1046. 最后一块石头的重量
截止到目前我已经写了 500多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ提取码:6666public int lastStoneWeight(int[] stones) { //最大堆,也就是元素最大的在堆顶 PriorityQueue<Integer> pq = new PriorityQueue&l.
2021-08-16 14:04:04 195 1
原创 LeetCode 494. 目标和
截止到目前我已经写了 500多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ提取码:6666//不同表达式的数目int count = 0;public int findTargetSumWays(int[] nums, int target) { dfs(nums, target, 0, 0); retur.
2021-08-16 14:00:43 160 1
原创 LeetCode 231. 2 的幂
截止到目前我已经写了 500多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ提取码:6666public boolean isPowerOfTwo(int n) { //非正数不可能是2的幂,直接返回false if (n <= 0) return false; //如果是偶数就一直除以2.
2021-08-16 13:53:37 285 1
原创 LeetCode 662. 二叉树最大宽度
截止到目前我已经写了 500多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ提取码:6666每一行从最左边到最右边我们很容易想到的就是二叉树的BFS遍历,他就是一层一层遍历的,关于二叉树的BFS不明白的可以看下下面的视频。视频链接所以这题思路很容易想到,就是遍历每一层的时候计算这一层最左边节点到最右边节点的距离,大致代码如下.
2021-08-11 14:39:31 1050 23
原创 LeetCode 559. N 叉树的最大深度
截止到目前我已经写了 500多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ提取码:6666来看下代码public int maxDepth(Node root) { if (root == null) return 0; //当前节点子节点的个数 int size = root.chil.
2021-08-04 10:52:43 188 2
原创 LeetCode 845. 数组中的最长山脉
截止到目前我已经写了 500多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ提取码:6666解法一山脉数组就是数组的前部分都是上升的,剩下的部分都是下降的,这样的数组称为山脉数组,之前专门讲过山脉数组,具体可以看下475,有效的山脉数组。这里我们先找到上升的数组元素个数,到最高点之后再找下降的元素个数,他们相加再加上最顶端的元素个数.
2021-08-04 10:50:00 280 1
原创 LeetCode 230. 二叉搜索树中第K小的元素
截止到目前我已经写了 500多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ提取码:6666373,数据结构-6,树488,二叉树的Morris中序和前序遍历我们随便挑一个,比如二叉树中序遍历的递归写法如下public void inOrderTraversal(TreeNode node) { if (node ==.
2021-08-04 10:45:13 225
原创 剑指 Offer 56 - II. 只出现一次的数字 II
截止到目前我已经写了 500多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ提取码:6666public int singleNumber(int[] nums) { Map<Integer, Integer> map = new HashMap<>(); //先把数字存储到map中,其中key存.
2021-08-04 10:41:48 127 1
原创 LeetCode 1035. 不相交的线
截止到目前我已经写了 500多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ提取码:6666if(nums[i] == nums[j]) dp[i][j] = dp[i-1][j-1] + 1;else dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);来看下最终代码.
2021-08-04 10:35:49 247
原创 LeetCode 409. 最长回文串
截止到目前我已经写了 500多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ提取码:6666public int longestPalindrome(String s) { int[] map = new int[256]; //统计每个字符的个数 for (char ch : s.toCharArray(.
2021-08-04 10:32:35 136
原创 LeetCode 312. 戳气球(动态规划解决)
截止到目前我已经写了 500多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ提取码:6666比如上图中3和5本来是不相邻的,但当我们戳破1的时候,3和5变成了相邻,所以我们可以使用一个list把每个气球的值都存起来,戳破的时候就把他从list中给删除。来看下代码public int maxCoins(int[] nums) { .
2021-08-04 10:23:59 436 15
原创 LeetCode 1442. 形成两个异或相等数组的三元组数目
截止到目前我已经写了 500多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ提取码:6666也就是说如果数组中连续n个元素的异或结果是0,那么可能的组合就有n-1种。搞懂了上面的分析过程,代码就简单多了。来看下代码public int countTriplets(int[] arr) { //所有可能的组合 int.
2021-08-04 10:18:17 193
数据结构和算法试题-总共1000多页带目录
2021-08-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人