随笔分类 -  LeetCode

1 2 3 4 5 6 下一页

[Leetcode]253. 会议室 II(数组/堆)
摘要:###题目 给定一个会议时间安排的数组,每个会议时间都会包括开始和结束的时间 [[s1,e1],[s2,e2],...] (si < ei),为避免会议冲突,同时要考虑充分利用会议室资源,请你计算至少需要多少间会议室,才能满足这些会议安排。 示例 1: 输入: [[0, 30],[5, 10],[1 阅读全文

posted @ 2020-11-03 22:55 coding_gaga 阅读(857) 评论(0) 推荐(0) 编辑

[LeetCode]138. 复制带随机指针的链表
摘要:###题解 方法一:hashmap构造旧节点和新节点的映射关系,为新节点next、random指针赋值。 方法二(空间复杂度更优):把新节点连接到对应旧节点后面,为新节点random指针赋值,把新节点拆出来连到新链表。 ###代码 方法一 class Solution { public Node c 阅读全文

posted @ 2020-10-27 19:42 coding_gaga 阅读(58) 评论(0) 推荐(0) 编辑

[LeetCode]归并排序、剑指 Offer 51. 数组中的逆序对(普通解法版-开临时数组)
摘要:###归并排序 ###代码 package Offer; public class mergeSort { public static void main(String[] args) { int[] nums = new int[] { 1, 3, 2, 3, 1, -1, 100 }; merg 阅读全文

posted @ 2020-10-27 12:40 coding_gaga 阅读(57) 评论(0) 推荐(0) 编辑

[Java并发]实现两个线程交替打印奇偶数(volatile+yield实现)
摘要:###解题思路 实现一个类OddEven 有一个打印奇数的方法,有一个打印偶数的方法。 类中有一个volatile变量 ,用来控制当前状态是该哪个方法打印。 方法中打印每个数前首先判断volatile变量的状态,不该自己打印就使用Thread.yield()让出CPU,该自己就打印并调换状态。 在主 阅读全文

posted @ 2020-09-15 21:27 coding_gaga 阅读(900) 评论(0) 推荐(0) 编辑

[LeetCode]剑指 Offer 52. 两个链表的第一个公共节点
摘要:###题解 nodeA走一个链表A(A独有+公共),再走B独有的长度, nodeB走一个链表B(B独有+公共),再走A独有的长度。 结果:两者相遇点即为交点;若没有交点,两者都走到null,会返回null。 ###代码 public class Solution { public ListNode 阅读全文

posted @ 2020-08-17 22:10 coding_gaga 阅读(77) 评论(0) 推荐(0) 编辑

[算法]类似n sum个数的问题(DP)
摘要:###题目 求和为target的数组元素组合数,含重复。 例: 输入 arr = { 1, 2, 3, 3, 4 } ,target = 6 输出 4 ###题解 dp[i][j]代表到数组第i-1个元素,目标和为j的组合数。 ###代码 package DP; public class Targe 阅读全文

posted @ 2020-07-26 23:27 coding_gaga 阅读(218) 评论(0) 推荐(0) 编辑

[LeetCode]64. 最小路径和(DP)
摘要:###题目 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/pr 阅读全文

posted @ 2020-07-21 00:02 coding_gaga 阅读(108) 评论(0) 推荐(0) 编辑

[二叉树-根到叶的子路径]路径总和 III (两层递归)
摘要:##题目437. 路径总和 III 给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 ###题解 两层递归: 内层递归函数计算每个节点为根结点的字数路径和与给定值相 阅读全文

posted @ 2020-06-25 15:43 coding_gaga 阅读(172) 评论(0) 推荐(0) 编辑

[LeetCode]66. 加一(数组)
摘要:###题目 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123。 示例 2 阅读全文

posted @ 2020-06-23 00:24 coding_gaga 阅读(79) 评论(0) 推荐(0) 编辑

[Leetcode]225. 用队列实现栈 、剑指 Offer 09. 用两个栈实现队列
摘要:##225. 用队列实现栈 如题 ###题解 在push时候搞点事情:push时入队1,在把队2的元素一个个入队1,再交换队2和队1,保持队1除pushguocheng 始终为空。 ###代码 class MyStack { private Queue<Integer> q1; private Qu 阅读全文

posted @ 2020-06-23 00:22 coding_gaga 阅读(67) 评论(0) 推荐(0) 编辑

[LeetCode]83. 删除排序链表中的重复元素
摘要:###题目 删除排序链表中的重复元素 ###题解 对空链表的处理,可以吧cur的赋值放到while中去,并对应修改while循环条件。 ###代码 class Solution { public ListNode deleteDuplicates(ListNode head) { ListNode 阅读全文

posted @ 2020-06-21 21:56 coding_gaga 阅读(101) 评论(0) 推荐(0) 编辑

[LeetCode]67. 二进制求和(字符串)(数学)
摘要:###题目 给你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串且只包含数字 1 和 0。 ###题解 两个字符串从低位开始加,前面位不够补0。维护进位,最后加上最后一个进位,最后反转结果字符串。 ###代码 class Solution { public String add 阅读全文

posted @ 2020-06-14 00:04 coding_gaga 阅读(98) 评论(0) 推荐(0) 编辑

[LeetCode]1084. 销售分析III(Mysql,having+聚合函数)
摘要:###题目 Table: Product + + + | Column Name | Type | + + + | product_id | int | | product_name | varchar | | unit_price | int | + + + product_id 是这个表的主键 阅读全文

posted @ 2020-06-12 23:11 coding_gaga 阅读(230) 评论(0) 推荐(0) 编辑

[LeetCode]671. 二叉树中第二小的节点(递归)
摘要:###题目 给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0。如果一个节点有两个子节点的话,那么这个节点的值不大于它的子节点的值。 给出这样的一个二叉树,你需要输出所有节点中的第二小的值。如果第二小的值不存在的话,输出 -1 。 ###题解 有趣的一道题。 题目 阅读全文

posted @ 2020-06-11 00:48 coding_gaga 阅读(58) 评论(0) 推荐(0) 编辑

[LeetCode] 203. 移除链表元素(链表基本操作-删除)、876. 链表的中间结点(链表基本操作-找中间结点)
摘要:##题目 203. 移除链表元素 删除链表中等于给定值 val 的所有节点。 ###题解 删除结点:要注意虚拟头节点。 ###代码 class Solution { public ListNode removeElements(ListNode head, int val) { ListNode p 阅读全文

posted @ 2020-06-11 00:11 coding_gaga 阅读(77) 评论(0) 推荐(0) 编辑

[LeetCode]26. 删除排序数组中的重复项(数组,双指针)
摘要:##题目 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原 阅读全文

posted @ 2020-06-09 00:08 coding_gaga 阅读(65) 评论(0) 推荐(0) 编辑

[LeetCode]404. 左叶子之和(递归)、938. 二叉搜索树的范围和(递归)(BST)
摘要:###题目 404. 左叶子之和 如题 ###题解 类似树的遍历的递归 注意一定要是叶子结点 ###代码 class Solution { public int sumOfLeftLeaves(TreeNode root) { if(root == null){return 0;} int sum 阅读全文

posted @ 2020-06-07 19:18 coding_gaga 阅读(67) 评论(0) 推荐(0) 编辑

[LeetCode]230. 二叉搜索树中第K小的元素(BST)(中序遍历)、530. 二叉搜索树的最小绝对差(BST)(中序遍历)
摘要:题目230. 二叉搜索树中第K小的元素 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 题解 中序遍历BST,得到有序序列,返回有序序列的k-1号元素。 代码 class Solution { public int kthSmallest(TreeNode 阅读全文

posted @ 2020-06-04 21:54 coding_gaga 阅读(177) 评论(0) 推荐(0) 编辑

【二叉树-所有路经系列(根->叶子)】二叉树的所有路径、路径总和 II、路径总和、求根到叶子节点数字之和(DFS)
摘要:##总述 全部用DFS来做 重点一:参数的设置:为Root,路径字符串,路径List集合。 重点二:步骤: 1 节点为null 2 所有节点的操作 3 叶子结点的操作 4 非叶节点的操作 ##题目257. 二叉树的所有路径 给定一个二叉树,返回所有从根节点到叶子节点的路径。 例:输出: ["1->2 阅读全文

posted @ 2020-06-04 00:10 coding_gaga 阅读(480) 评论(0) 推荐(0) 编辑

[LeetCode]1083. 销售分析 II(Mysql,having+if)
摘要:##题目 编写一个 SQL 查询,查询购买了 S8 手机却没有购买 iPhone 的买家。 ##题解 使用having + sum+if,而不是自查询。 ##代码 # Write your MySQL query statement below select buyer_id from Sales 阅读全文

posted @ 2020-06-04 00:06 coding_gaga 阅读(344) 评论(0) 推荐(0) 编辑

1 2 3 4 5 6 下一页

导航

点击右上角即可分享
微信分享提示