- 博客(421)
- 收藏
- 关注

原创 【2019暑期】【PAT甲级】树专练总结
树默认0开存写前中后序#include <cstdio>#include <cstdlib>#include <algorithm>#include <iostream>#include <string>#include <cctype>#include <vector>#include <...
2019-09-04 10:31:35
167

原创 【2019暑期】【PAT甲级】图论专练总结
发现了一个大佬总结的好文章,准备按照她的路线进行学习DFS/BFS1106统计层数和次数的时候,在判断里统计,不要在递归里不然会很麻烦也会导致结果错误注意更新最小层数时也要把次数还原int n;double p,r,sum;int cnt=1,minl=999999;vector<int> node[110000];void dfs(int root,int le...
2019-08-31 14:21:17
293

原创 pat 甲级 知识积累
断断续续也做了30多个题了,不总结一下乱做也没效果,有一些还是要背一背的♦ 1002 有一个输出问题, 注意输出格式, 尽量多用scanf printf ,做到现在基本只有在用到string的时候只能cin cout 。♦ 开数组大小的时候要考虑全面,有些时候不通过或者显示段错误的话就把数组再开大点。。♦ 目前遇到的dijkstra题都还没去研究,,接下来这几天的目标就是继续刷题,然...
2018-08-14 19:30:04
503
原创 【2022初春】【LeetCode】91. 解码方法
典型的题目,拼单词注意是两个状态累加,不是单纯的+1,而且注意下标的问题class Solution { public int numDecodings(String s) { int[] dp = new int[s.length()+1]; dp[0] = 1; for(int i=1; i<=s.length(); i++){ if(s.charAt(i-1)!='0') dp[i] = dp[
2022-05-26 10:56:00
175
原创 【2022初春】【LeetCode】45. 跳跃游戏 II
动规+贪心跳跃,思路是OK的,但是实现上一直有问题,需要多理解class Solution { public int jump(int[] nums) { int ans = 0; int end = 0; int maxlen = 0; for(int i=0; i<nums.length-1; i++){ maxlen = Math.max(maxlen,i+nums[i]);
2022-05-25 10:50:22
250
原创 【2022初春】【LeetCode】430. 扁平化多级双向链表
递归,居然一次写出来了,注意细节,比如child要变null,cnt可能为null/*// Definition for a Node.class Node { public int val; public Node prev; public Node next; public Node child;};*/class Solution { public Node flatten(Node head) { //if(head==null)
2022-05-23 11:13:30
140
原创 【2022初春】【LeetCode】462. 最少移动次数使数组元素相等 II
一开始写成了找平均数,其实应该找中位数class Solution { public int minMoves2(int[] nums) { int res = 0; int avg = 0; Arrays.sort(nums); avg = nums[nums.length/2]; for(int num : nums){ res += Math.abs(avg-num);
2022-05-03 17:06:26
167
原创 【2022初春】【LeetCode】695. 岛屿的最大面积
一次过了,但还需要总结class Solution { int res = 0; int[][] visited; public int maxAreaOfIsland(int[][] grid) { if(grid.length==0||grid[0].length==0) return 0; this.visited = new int[grid.length][grid[0].length]; for(int i
2022-04-20 10:28:39
133
原创 【2022初春】【笔记】NSum问题
2Sum指针,Nsum嵌套import org.omg.Messaging.SYNC_WITH_TRANSPORT;import java.util.*;public class Main{ public static int ans = 0; public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt();
2022-04-18 15:47:34
223
原创 【2022初春】【LeetCode】【树】129. 求根节点到叶节点数字之和
树的深搜计数,记路径/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode
2022-04-15 11:43:20
108
原创 【2022初春】【LeetCode】【树】257. 二叉树的所有路径
回溯和深搜还是要练/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode r
2022-04-15 11:31:38
81
原创 【2022初春】【LeetCode】【树】515. 在每个树行中找最大值
层序遍历过了,但是有点耗时/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNo
2022-04-14 21:44:01
181
原创 【2022初春】【笔记】生产者消费者问题
生产者消费者模式,是通过一个容器来解决生产者和消费者之间的强耦合关系。生产者和消费者之间不直接通信,而是通过阻塞队列进行通信。
2022-04-14 15:17:05
129
原创 【2022初春】【LeetCode】【树】513. 找树左下角的值
层序一遍过了时间好像略高也可以用dfs,感觉和树的左视图很像/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, Tr
2022-04-13 17:20:20
194
原创 【2022初春】【LeetCode】【树】671. 二叉树中第二小的节点
暂存吧,不是很难的题,但是一直想不出思路/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left,
2022-04-13 16:48:32
259
原创 【2022初春】【LeetCode】【树】662. 二叉树最大宽度
基础想法是对的,但是做法和实现方式要学习,下标方法/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode
2022-04-13 11:39:47
120
原创 【2022初春】【LeetCode】【树】559. N 叉树的最大深度
看来这个Sysytem.out很占时间/*// Definition for a Node.class Node { public int val; public List<Node> children; public Node() {} public Node(int _val) { val = _val; } public Node(int _val, List<Node> _children) {
2022-04-13 10:55:33
122
原创 【2022初春】【LeetCode】【树】690. 员工的重要性
写出来了但是耗时很长再提交又不耗时了,很怪/*// Definition for Employee.class Employee { public int id; public int importance; public List<Integer> subordinates;};*/class Solution { int value = 0; Map<Integer,Employee> map = new HashMap&l
2022-04-13 10:32:34
127
原创 【2022初春】【LeetCode】【树】429. N 叉树的层序遍历
N叉树层序,无大区别/*// Definition for a Node.class Node { public int val; public List<Node> children; public Node() {} public Node(int _val) { val = _val; } public Node(int _val, List<Node> _children) { val
2022-04-12 23:11:55
133
原创 【2022初春】【LeetCode】【树】102. 二叉树的层序遍历
层序遍历处理overqueue队列的函数是 add/offer poll/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int va
2022-04-12 23:01:44
663
原创 【2022初春】【LeetCode】【树】687. 最长同值路径
写递归程序,重要的是四点,输入参数、输出结果、函数的功能、终止条件。二叉树本身就具有递归这种性质的数据结构,我们需要把它看成“左子树-根节点-右子树”这种结构,就不要再囿于左子节点/右子节点这个思维里了。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {}
2022-04-12 22:48:30
311
原创 【2022初春】【LeetCode】【树】654. 最大二叉树
一遍过,但是好像用时很久看了下都是这个思路/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode lef
2022-04-11 19:57:26
175
原创 【2022初春】【LeetCode】【树】543. 二叉树的直径
写出来了但是耗时很长,应该考虑怎么剪枝也不是,感觉自己把该递归判断的地方写错了/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int
2022-04-11 19:41:11
315
原创 【2022初春】【LeetCode】【树】572. 另一棵树的子树
一开始的思路对了80%,但是还是细节上有问题/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode lef
2022-04-11 17:28:06
143
原创 【2022初春】【LeetCode】【树】508. 出现次数最多的子树元素和
自己写出来了,但是很耗时,应该要优化一下在哪里递归需要考虑一下基础语法上,map的遍历,ArrayList转int数组需要学习/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val =
2022-04-11 16:12:10
112
原创 【2022初春】【笔记】自定义类排序写法
自定义排序函数1.定义要排序的类2.写个类继承排序接口,重写排序函数3.在主类里调用排序函数String自带compareTo是按字符顺序比较import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String sn = sc.nextLine(); Strin
2022-04-09 18:02:43
245
原创 【2022初春】【LeetCode】【树】617. 合并二叉树
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { *
2022-04-09 12:12:16
418
原创 【2022初春】【LeetCode】【树】563. 二叉树的坡度
感觉自己好像又明白一些啦/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNod
2022-04-09 11:58:33
162
原创 【2022初春】【LeetCode】【树】437. 路径总和 III
深搜的写法也没写明白,先想清楚逻辑再写/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left,
2022-04-09 11:42:15
168
原创 【2022初春】【LeetCode】【树】226. 翻转二叉树
还是没必要新建节点/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode r
2022-04-09 11:26:37
290
原创 【2022初春】【LeetCode】【树】101. 对称二叉树
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { *
2022-04-09 10:58:28
122
原创 【2022初春】【LeetCode】【树】222. 完全二叉树的节点个数
这道题学的是,求二叉树的深度,节点个数,在完全二叉树的基础上,怎么简化深度以及完全二叉树求节点个数的优化求二叉树的深度private int countLevel(TreeNode root){ if(root == null){ return 0; } return Math.max(countLevel(root.left),countLevel(root.right)) + 1;}求二叉树的节点个数public int countNodes(Tre
2022-04-09 00:00:39
249
原创 【2022初春】【LeetCode】【树】100. 相同的树
注意不能加等于的判断/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode
2022-04-08 17:26:32
184
原创 【2022初春】【LeetCode】222. 完全二叉树的节点个数
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { *
2022-03-07 20:25:11
224
原创 【2022初春】【LeetCode】100. 相同的树
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { *
2022-03-07 19:42:45
88
原创 【2022初春】【LeetCode】143. 重排链表
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * }
2022-03-04 10:47:58
283
原创 【2022初春】【LeetCode】725. 分隔链表
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * }
2022-03-04 10:04:37
229
原创 【2022初春】【LeetCode】82. 删除排序链表中的重复元素 II
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * }
2022-03-04 09:32:59
7418
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人