
算法
文章平均质量分 75
Tattoo_Welkin
Just do it !!!
展开
-
算法-贪心(Java实现)
文章目录剑指 Offer II 019. 最多删除一个字符得到回文思路:剑指 Offer II 019. 最多删除一个字符得到回文给定一个非空字符串 s,请判断如果 最多 从字符串中删除一个字符能否得到一个回文字符串。https://leetcode.cn/problems/RQku0D/思路:(1)首先判断是不是回文,然后遍历字符串,判断删除每一个字符位置后是不是回文。时间复杂度 O(n)(2)class Solution { public boolean validPalindro原创 2022-05-21 10:41:19 · 265 阅读 · 0 评论 -
算法-并查集(Java实现)
文章目录一级目录一级目录原创 2022-05-18 15:05:39 · 439 阅读 · 0 评论 -
常考算法实现题
文章目录实现 LRU实现 单例循环打印 AB使用 wait && notify使用 condition实现 LRUpublic class LRUCache { class DLinkedNode { int key; int value; DLinkedNode prev; DLinkedNode next; public DLinkedNode() { } p原创 2022-04-16 11:15:39 · 245 阅读 · 0 评论 -
算法-滑动窗口与前缀和算法
文章目录最长重复子数组思路1:DP思路2:滑动窗口(具体思路见题解)最长重复子数组https://leetcode-cn.com/problems/maximum-length-of-repeated-subarray/给两个整数数组 nums1 和 nums2 ,返回 两个数组中 公共的 、长度最长的子数组的长度 。思路1:DP// 动态规划class Solution { public int findLength(int[] nums1, int[] nums2) {原创 2022-04-16 10:19:58 · 327 阅读 · 0 评论 -
算法-二分查找(Java实现)
文章目录其他题型见:[剑指 offer 全记录之二分查找](https://blog.youkuaiyun.com/liushengxi_root/article/details/100857986)剑指 Offer II 069. 山峰数组的顶部其他题型见:剑指 offer 全记录之二分查找剑指 Offer II 069. 山峰数组的顶部https://leetcode-cn.com/problems/B1IidL/求波峰和波谷 class Solution { public int p原创 2022-04-14 21:48:48 · 540 阅读 · 0 评论 -
算法题汇总
文章目录数据结构专练-链表[算法- 字典树(Java实现)](https://blog.youkuaiyun.com/liushengxi_root/article/details/123458630)数据结构专练-字符串算法-搜索DFS与BFS(Java实现)算法-动态规划(Java实现)算法-位运算(Java实现)算法-哈希表(Java实现)算法-递归和分治(Java实现)算法-树&二叉树&二叉搜索树(Java实现)算法-栈和队列(Java实现)数据结构专练-链表剑指 Offer 35. 复杂原创 2022-04-13 13:31:13 · 887 阅读 · 0 评论 -
算法- 数学(Java实现)
文章目录剑指 Offer 44. 数字序列中某一位的数字思路:剑指 Offer 44. 数字序列中某一位的数字https://leetcode-cn.com/problems/shu-zi-xu-lie-zhong-mou-yi-wei-de-shu-zi-lcof/思路:原创 2022-04-11 23:09:34 · 151 阅读 · 0 评论 -
算法-栈和队列(Java实现)
文章目录栈和队列1.栈的压入、弹出序列2. 返回滑动窗口中的最大值解法一:解法二:栈和队列1.栈的压入、弹出序列输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)思路:将 pushed 队列中的每个数都 push 到栈中,同时检查这个数是不是 po原创 2022-02-22 23:25:03 · 1080 阅读 · 0 评论 -
数据结构专练-字符串
文章目录一级目录一级目录原创 2022-03-17 21:39:21 · 247 阅读 · 0 评论 -
数据结构专练-链表
文章目录剑指 Offer 35. 复杂链表的复制思路:(1)方法一:回溯 + 哈希表(2)利用链表特性剑指 Offer 35. 复杂链表的复制https://leetcode-cn.com/problems/fu-za-lian-biao-de-fu-zhi-lcof/思路:(1)方法一:回溯 + 哈希表class Solution { Map<Node, Node> cachedNode = new HashMap<Node, Node>(); publ原创 2022-04-05 20:34:11 · 155 阅读 · 0 评论 -
动态规划之--背包问题基础专讲
文章目录01 背包完全背包01 背包完全背包原创 2022-04-01 13:45:18 · 322 阅读 · 0 评论 -
算法- 字典树(Java实现)
文章目录代码实现前缀树212. 单词搜索 II思路:剑指 Offer II 063. 替换单词思路:之前写过一篇关于 Trie 树的实现:使用Trie 树实现搜索引擎的搜索关键词提示功能,现在我们来使用 Java 再来重新实现一下,随后做几道习题来玩玩。代码实现前缀树https://leetcode-cn.com/problems/implement-trie-prefix-tree//** * @Date: 2022-03-13 14:17 * @Author: liushengxi * @原创 2022-03-13 22:17:38 · 770 阅读 · 0 评论 -
算法-搜索DFS与BFS(Java实现)
文章目录剪枝算法N皇后的问题数独问题剪枝算法N皇后的问题leetcode 51 52 题数独问题原创 2022-03-09 00:09:06 · 1199 阅读 · 0 评论 -
算法-动态规划(Java实现)
文章目录70. 爬楼梯思路70. 爬楼梯https://leetcode-cn.com/problems/climbing-stairs/思路我们用 f(x) 表示爬到第 x 级台阶的方案数,考虑最后一步可能跨了一级台阶,也可能跨了两级台阶,所以我们可以列出如下式子:f(x) = f(x - 1) + f(x - 2)它意味着爬到第 xx 级台阶的方案数是爬到第 x - 1 级台阶的方案数和爬到第 x - 2 级台阶的方案数的和。很好理解,因为每次只能爬 1级或 2级,所以 f(x) 只能从 f原创 2022-03-05 15:17:10 · 1821 阅读 · 0 评论 -
算法-位运算(Java实现)
文章目录191. 位1的个数思路1:思路2:231. 2 的幂 与 338. 比特位计数191. 位1的个数https://leetcode-cn.com/problems/number-of-1-bits/思路1:判断32次,每次判断二进制的最后一位数字是不是1即可。(通过 和1做与运算 来判断)public class Solution { // you need to treat n as an unsigned value public int hammingWeight(原创 2022-03-05 14:40:09 · 390 阅读 · 0 评论 -
算法-哈希表(Java实现)
文章目录1. 两数之和三数之和四数之和1. 两数之和https://leetcode-cn.com/problems/two-sum/public class Solution { public int[] twoSum(int[] nums, int target) { if (nums == null) { return null; } //<num数值,index> 结果需要返回 index原创 2022-02-16 23:09:09 · 317 阅读 · 0 评论 -
算法-递归和分治(Java实现)
文章目录50 实现 pow(x, n) ,即计算 x 的 n 次幂函数思路一:快速幂 + 递归思路一:快速幂 + 迭代 + 位运算50 实现 pow(x, n) ,即计算 x 的 n 次幂函数https://leetcode-cn.com/problems/powx-n/可以提出暴力和调用库函数的思路,但是不要写~思路一:快速幂 + 递归class Solution { // N 全是 >= 0 的值(做逻辑复杂的处理的时候, // 可以先将逻辑转换为统一的,这样就很好处原创 2022-03-01 00:09:03 · 279 阅读 · 0 评论 -
算法-树&二叉树&二叉搜索树(Java实现)
文章目录98. 验证二叉搜索树思路:中序遍历如果是得到一个排序好的数组的话,那么肯定就是二叉搜索树思路:递归,如果该二叉树的左子树不为空,则`左子树上所有节点的值`均小于它的根节点的值; 若它的右子树不空,则`右子树上所有节点的值`均大于它的根节点的值;它的左右子树也为二叉搜索树。98. 验证二叉搜索树https://leetcode-cn.com/problems/validate-binary-search-tree/思路:中序遍历如果是得到一个排序好的数组的话,那么肯定就是二叉搜索树这里其实直原创 2022-02-27 15:50:13 · 363 阅读 · 0 评论