leetcode
文章平均质量分 55
我是女孩
这个作者很懒,什么都没留下…
展开
-
十大排序算法
https://www.yuque.com/docs/share/589e9af3-1b66-496f-a113-2c798b7f6a5b?# 《排序算法》原创 2022-10-24 15:15:49 · 204 阅读 · 1 评论 -
岛屿相关题目(深度优先遍历dfs)
牛逼题解力扣https://leetcode-cn.com/problems/number-of-islands/solution/dao-yu-lei-wen-ti-de-tong-yong-jie-fa-dfs-bian-li-/200. 岛屿数量class Solution { private int res; public int numIslands(char[][] grid) { //如果是海洋,就是0;如果是陆地就是1;如果是已经遍历过的陆地..原创 2021-09-13 13:51:48 · 127 阅读 · 0 评论 -
leetcode编辑距离
https://leetcode-cn.com/problems/edit-distance/讲一下我自己对状态转移方程的理解,麻烦大家看看我说得对不对有没有道理:(一)、当word1[i]==word2[j]时,由于遍历到了i和j,说明word1的0~i-1和word2的0~j-1的匹配结果已经生成, 由于当前两个字符相同,因此无需做任何操作,dp[i][j]=dp[i-1][j-1](二)、当word1[i]!=word2[j]时,可以进行的操作有3个: ① 替.原创 2021-08-10 14:31:00 · 105 阅读 · 0 评论 -
二叉树层序遍历(宽度优先遍历bfs--队列)
https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-ii-lcof/solution/mian-shi-ti-32-ii-cong-shang-dao-xia-da-yin-er-c-5/public List<List<Integer>> levelOrder(TreeNode root) { //队列,遍历上一层的时候,顺便吧下一层元素加入队列 Queue原创 2021-07-30 10:41:47 · 182 阅读 · 0 评论 -
回溯算法模版
https://leetcode-cn.com/problems/permutations/solution/pei-yang-chou-xiang-neng-li-de-yi-dao-ti-1731/46. 全排列List<List<Integer>> res = new LinkedList<>(); public List<List<Integer>> permute(int[] nums) { Linke原创 2021-06-28 16:48:07 · 90 阅读 · 0 评论 -
优先队列 小顶堆,大顶堆
堆定义定义:1、堆是一颗完全二叉树;2、堆中的某个结点的值总是大于等于(最大堆)或小于等于(最小堆)其孩子结点的值。3、堆中每个结点的子树都是堆树。原创 2021-06-21 15:02:31 · 1933 阅读 · 0 评论 -
位运算性质
268. 丢失的数字给定一个包含 [0, n]中n个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。进阶:你能否实现线性时间复杂度、仅使用额外常数空间的算法解决此问题?示例 1:输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。class Solution { public int missingNumber(i...原创 2021-06-15 20:49:58 · 184 阅读 · 0 评论 -
快速排序算法
目录快排数组中的第 K 个最大元素二叉堆解法快排快排亲兄弟:快速选择算法详解(这个比较好,更容易懂)https://mp.weixin.qq.com/s/TRO3FOKT90Mpvn3hQWVBAQ快排递归与非递归--Java实现https://mp.weixin.qq.com/s/ChM5AMCpu43MIydaXMvdVw快速选择算法比较巧妙,时间复杂度更低,是快速排序的简化版,一定要熟悉思路。我们先从快速排序讲起。快速排序的逻辑是,若要对nums[lo.原创 2021-04-04 14:57:33 · 217 阅读 · 0 评论 -
二分查找、部分有序二分查找
二分查找的执行过程如下1.从已经排好序的数组或区间中,取出中间位置的元素,将其与我们的目标值进行比较,判断是否相等,如果相等则返回。2.如果 nums[mid] 和 target 不相等,则对 nums[mid] 和 target 值进行比较大小,通过比较结果决定是从 mid的左半部分还是右半部分继续搜索。如果 target > nums[mid] 则右半区间继续进行搜索,即 left = mid + 1; 若target < nums[mid] 则在左半区间继续进行搜索,即原创 2021-03-30 12:01:56 · 368 阅读 · 0 评论 -
单链表逆置
【数据结构】单链表逆置:头插法图解https://blog.csdn.net/qq_42322103/article/details/82668765我首先创建三个节点,一个是当前节点cur、一个是cur上一个节点pre。另外就是tmp。每次循环,我用tmp记录cur下一个节点,接着将cur的next指针指向上一个节点pre。这个时候就完成了一次反转操作。接着将pre和cur的记录往后移动一次,重复上面的操作。直至达到链表结尾。class Solution { public Li原创 2020-09-22 11:00:46 · 88 阅读 · 0 评论