3 wardseptember

尚未进行身份认证

我要认证

每个人都会死,但不是每个人都曾活过。

等级
TA的排名 1w+

LeetCode题解——数组(一)

文章目录移动零解法重塑矩阵解法最大连续1的个数解法搜索二维矩阵 II解法有序矩阵中第K小的元素二分查找法堆排序错误的集合解法寻找重复数双指针推荐阅读移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。解法class Solution { public void moveZeroes(int[] num

2020-07-07 17:19:14

LeetCode题解——字符串

文章目录有效的字母异位词解法最长回文串解法同构字符串解法回文子串解法回文数解法计数二进制子串解法推荐阅读有效的字母异位词给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整你的

2020-06-19 14:06:56

LeetCode题解——哈希表

文章目录哈希表两数之和HashMap解法存在重复元素解法最长和谐子序列解法最长连续序列解法推荐阅读哈希表两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]HashMap解法c

2020-06-18 14:08:40

LeetCode题解——栈和队列

文章目录用栈实现队列解法用队列实现栈解法最小栈解法有效的括号解法每日温度解法下一个更大元素 II解法推荐阅读用栈实现队列使用栈实现队列的下列操作:push(x) -- 将一个元素放入队列的尾部。pop() -- 从队列首部移除元素。peek() -- 返回队列首部的元素。empty() -- 返回队列是否为空。 示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2); queue.peek(); /

2020-06-17 16:21:19

LeetCode题解——树(四)

文章目录BST将有序数组转换为二叉搜索树递归有序链表转换二叉搜索树递归中序遍历两数之和 IV - 输入 BST中序遍历二叉搜索树的最小绝对差中序遍历中序遍历优化二叉搜索树中的众数中序遍历Morris中序遍历实现 Trie (前缀树)解法键值映射解法推荐阅读BST将有序数组转换为二叉搜索树将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9

2020-06-12 11:23:35

LeetCode题解——树(三)

文章目录前中后序遍历二叉树的前序遍历迭代二叉树的后序遍历迭代解法1迭代解法2二叉树的中序遍历迭代解法BST修剪二叉搜索树递归算法二叉搜索树中第K小的元素中序遍历递归解法把二叉搜索树转换为累加树递归解法二叉搜索树的最近公共祖先递归解法二叉树的最近公共祖先递归解法推荐阅读前中后序遍历二叉树的前序遍历给定一个二叉树,返回它的 前序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3]进阶:&nbsp

2020-06-09 13:11:29

LeetCode题解——树(二)

文章目录递归二叉树的最小深度递归解法对称二叉树递归解法迭代解法左叶子之和递归解法最长同值路径递归解法打家劫舍 III递归解法动态规划二叉树中第二小的节点递归解法层序遍历二叉树的层平均值层序遍历DFS找树左下角的值层序遍历DFS推荐阅读递归二叉树的最小深度给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \

2020-06-06 17:29:41

LeetCode题解——树(一)

文章目录递归二叉树的最大深度递归解法非递归解法平衡二叉树解法二叉树的直径解法翻转二叉树递归解法合并二叉树递归解法路径总和递归解法路径总和 III解法另一个树的子树递归解法推荐阅读递归二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。

2020-06-05 13:45:16

LeetCode题解——链表

文章目录相交链表解法反转链表递归解法头插法合并两个有序链表非递归解法递归解法删除排序链表中的重复元素解法1解法2递归删除链表的倒数第N个节点解法两两交换链表中的节点解法两数相加 II解法回文链表解法分隔链表解法奇偶链表解法推荐阅读相交链表编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:解法/** * Definition for singly-linked list. * public class ListNode { * int val; * List

2020-06-02 23:48:09

LeetCode题解——数学问题(二)

文章目录七进制数数字转换为十六进制数Excel表列名称阶乘后的零解法推荐阅读七进制数给定一个整数,将其转化为7进制,并以字符串形式输出。示例 1:输入: 100输出: “202”示例 2:输入: -7输出: “-10”class Solution { public String convertToBase7(int num) { if (num == 0) { return "0"; } StringBuild

2020-05-29 18:08:32

LeetCode题解——数学问题(一)

文章目录计算质数最大公约数最小公倍数二进制求和字符串相加最少移动次数使数组元素相等 II先排序再计算快速选择找到中位数多数元素排序找中间那个数Boyer-Moore Majority Vote Algorithm有效的完全平方数3的幂直接法除自身以外数组的乘积三个数的最大乘积推荐阅读计算质数统计所有小于非负整数 n 的质数的数量。示例:输入: 10输出: 4解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。class Solution { public int

2020-05-17 23:12:33

LeetCode题解——动态规划(五)

更多学习笔记Github文章目录更多学习笔记[Github](https://wardseptember.github.io/notes/#/)股票交易类型309. 最佳买卖股票时机含冷冻期动态规划714. 买卖股票的最佳时机含手续费动态规划123. 买卖股票的最佳时机 III动态规划188. 买卖股票的最佳时机 IV动态规划字符串编辑583. 两个字符串的删除操作动态规划72. 编辑距离动态规...

2020-04-03 18:38:35

JVM 笔记01——最全、最详细的Java内存区域教程

文章目录Java内存区域运行时数据区域程序计数器Java 虚拟机栈本地方法栈堆方法区方法区和永久代的关系常用参数元空间运行时常量池直接内存HotSpot虚拟机对象探秘对象的创建Step1:类加载检查Step2:分配内存Step3:初始化零值Step4:设置对象头Step5:执行 init 方法对象的内存布局对象头对象自身的运行时数据类型指针实例数据对齐填充对象的访问定位String 类和常量池字符...

2020-03-15 11:06:08

LeetCode题解——动态规划(四)

文章目录474. 一和零动态规划322. 零钱兑换动态规划518. 零钱兑换 II动态规划139. 单词拆分动态规划377. 组合总和 Ⅳ动态规划推荐阅读474. 一和零在计算机界中,我们总是追求用有限的资源获取最大的收益。现在,假设你分别支配着 m 个 0 和 n 个 1。另外,还有一个仅包含 0 和 1 字符串的数组。你的任务是使用给定的 m 个 0 和 n 个 1 ,找到能拼出存在于...

2020-03-04 22:01:13

LeetCode题解——动态规划(三)

文章目录300. 最长上升子序列动态规划二分查找646. 最长数对链动态规划376. 摆动序列动态规划1143. 最长公共子序列动态规划416. 分割等和子集动态规划494. 目标和动态规划推荐阅读300. 最长上升子序列给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,10...

2020-02-29 23:29:14

LeetCode题解——动态规划(二)

文章目录303. 区域和检索 - 数组不可变缓存413. 等差数列划分常数内存的动态规划343. 整数拆分动态规划279. 完全平方数BFS动态规划91. 解码方法动态规划推荐阅读303. 区域和检索 - 数组不可变给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。示例:给定 nums = [-2, 0, 3, -5, 2...

2020-02-18 18:06:32

LeetCode题解——动态规划(一)

文章目录70. 爬楼梯动态规划198. 打家劫舍动态规划1动态规划2213. 打家劫舍 II动态规划64. 最小路径和动态规划62. 不同路径动态规划推荐阅读70. 爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。...

2020-01-04 15:26:49

LeetCode题解--回溯算法(四)

131. 分割回文串给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入: “aab”输出:[[“aa”,“b”],[“a”,“a”,“b”]]回溯算法class Solution { private boolean checkPalindrome(String s, int begin, int end) { ...

2019-12-17 15:10:59

LeetCode题解--回溯算法(三)

40. 组合总和 II给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,...

2019-12-16 23:51:56

LeetCode题解--回溯算法(二)

文章目录46. 全排列回溯算法47. 全排列 II回溯算法77. 组合回溯算法回溯剪枝操作39. 组合总和回溯算法46. 全排列给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]回溯算法class Solution { priv...

2019-12-08 19:44:24

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 图书勋章
    图书勋章
    CSDN技术图书作者专属勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。