随笔分类 -  剑指leetcode

摘要:1、题目描述: https://leetcode-cn.com/problems/all-ancestors-of-a-node-in-a-directed-acyclic-graph/ 2、思路: 遍历一遍二维数组,可以统计出所有节点的父节点;因此要想知道一个节点的所有祖宗节点,就再拿到父节点,去 阅读全文
posted @ 2022-04-05 13:00 guoyu1 阅读(141) 评论(0) 推荐(0) 编辑
摘要:1、题目描述 https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/submissions/ 2、解题思路: https://leetcode-cn.com/problems/binary-tree-maximum-path-su 阅读全文
posted @ 2022-04-03 21:00 guoyu1 阅读(25) 评论(0) 推荐(0) 编辑
摘要:1、题目描述 33. 搜索旋转排序数组 2、思路: 数组经过旋转后,还是部分有序,还是用二分法,找到数组的mid,然后看到底是前半段有序,还是后半段有序,因为只要这半段是有序的,就可以用target去比较这半段的起点和这半段的终点,来判断target是否是在这半段中。就可以知道到底该往哪个方向缩小范 阅读全文
posted @ 2022-02-13 16:35 guoyu1 阅读(25) 评论(0) 推荐(0) 编辑
摘要:147. 对链表进行插入排序 思路: 与数组插入排序的思路相同,都是先有一个有序序列,然后拿着待插入元素,在有序序列中找到正确的位置; 链表有序序列的初始化方式就是,先定义一个哨兵dummyNode,然后让head节点成为第一个有序的序列的元素,维护一个lastSortNode保存有序序列的最后一个 阅读全文
posted @ 2021-12-28 21:31 guoyu1 阅读(34) 评论(0) 推荐(0) 编辑
摘要:148. 排序链表 思路: 采用对数组进行归并排序的相同思路,依旧是对链表进行递归,递归到只有一个元素的时候,在对链表进行合并操作。 只不过,在查找链表的中间点的方式是利用快慢指针。在合并两个有序链表的时候,创建哨兵进行合并。 图解答案,自顶向下归并排序:https://leetcode-cn.co 阅读全文
posted @ 2021-12-27 21:26 guoyu1 阅读(34) 评论(0) 推荐(0) 编辑
摘要:11. 盛最多水的容器 class Solution { public int maxArea(int[] height) { if (height == null || height.length == 0) { return 0; } int start = 0; int end = heigh 阅读全文
posted @ 2021-12-22 11:29 guoyu1 阅读(28) 评论(0) 推荐(0) 编辑
摘要:23. 合并K个升序链表 思路: 将两个有序链表合并,推广到n个链表的合并,就是将n个链表两两合并,再合并,就是归并排序的思维,现将数组递归到单个元素终止,然后执行两两merge。 https://leetcode-cn.com/problems/merge-k-sorted-lists/solut 阅读全文
posted @ 2021-12-21 19:43 guoyu1 阅读(32) 评论(0) 推荐(0) 编辑
摘要:15. 数组中的第K个最大元素 package 数组; import jdk.nashorn.internal.ir.CallNode; import java.util.Random; public class 数组中的第k大元数 { public static void main(String[ 阅读全文
posted @ 2021-12-02 18:11 guoyu1 阅读(46) 评论(0) 推荐(0) 编辑
摘要:43. 字符串相乘 package 字符串; public class 字符串相乘 { public static void main(String[] args) { String num1 = "123"; String num2 = "456"; 字符串相乘 o = new 字符串相乘(); 阅读全文
posted @ 2021-12-02 14:32 guoyu1 阅读(43) 评论(0) 推荐(0) 编辑
摘要:394. 字符串解码 package 字符串; import java.util.Stack; public class 字符串解码 { public static void main(String[] args) { String s = "3[a2[c]]"; 字符串解码 o = new 字符串 阅读全文
posted @ 2021-12-01 21:19 guoyu1 阅读(88) 评论(0) 推荐(0) 编辑
摘要:146. LRU 缓存机制 (1)直接使用LinkedHashMap package 链表; import java.util.LinkedHashMap; import java.util.Map; public class LRUCache extends LinkedHashMap<Integ 阅读全文
posted @ 2021-12-01 19:56 guoyu1 阅读(47) 评论(0) 推荐(0) 编辑
摘要:7. 整数反转 package 字符串; public class 整数反转 { public static void main(String[] args) { 整数反转 o = new 整数反转(); System.out.println(o.reverse2(-2147483412)); // 阅读全文
posted @ 2021-11-30 18:13 guoyu1 阅读(28) 评论(0) 推荐(0) 编辑
摘要:5. 最长回文子串 package 动态规划; public class 最长回文子串 { public static void main(String[] args) { String s = "aaaa"; 最长回文子串 o = new 最长回文子串(); System.out.println( 阅读全文
posted @ 2021-11-29 21:32 guoyu1 阅读(31) 评论(0) 推荐(0) 编辑
摘要:4. 寻找两个正序数组的中位数 package 数组; public class 找两个正序数组的中位数找第k小的数 { public static void main(String[] args) { // int[] a = {1, 3, 4, 9};//长度为4 // int[] b = {1 阅读全文
posted @ 2021-11-28 14:54 guoyu1 阅读(51) 评论(0) 推荐(0) 编辑
摘要:2. 两数相加 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val 阅读全文
posted @ 2021-11-27 15:41 guoyu1 阅读(27) 评论(0) 推荐(0) 编辑
摘要:50. Pow(x, n) 1、快速幂: (1)递归解法: (2)迭代解法: package 数组; public class Pow { public static void main(String[] args) { Pow pow = new Pow(); System.out.println 阅读全文
posted @ 2021-11-21 12:44 guoyu1 阅读(30) 评论(0) 推荐(0) 编辑
摘要:https://leetcode-cn.com/problems/3sum/ package 数组; import java.util.Arrays; import java.util.HashMap; public class 两数之和 { public static void main(Stri 阅读全文
posted @ 2021-11-20 16:51 guoyu1 阅读(78) 评论(0) 推荐(0) 编辑
摘要:https://leetcode-cn.com/problems/3sum/ 思路: 方法一:数组排序后,三重暴力循环,排序的目的是一种方便获得不重复解的手段 方法二:数组排序后,利用双指针,因为数组排序后,元素有小到大,便于和0进行比较; package 数组; import java.util. 阅读全文
posted @ 2021-11-20 16:49 guoyu1 阅读(67) 评论(0) 推荐(0) 编辑
摘要:1、代码: https://leetcode-cn.com/problems/permutations-ii/submissions/ class Solution { public List<List<Integer>> permuteUnique(int[] nums) { ArrayList< 阅读全文
posted @ 2021-10-06 15:21 guoyu1 阅读(17) 评论(0) 推荐(0) 编辑

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