自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

咸鱼之井的博客

人一定要有梦想,即使是咸鱼,也要做最咸的那一条!

  • 博客(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 135

原创 【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 235

原创 pat 甲级 知识积累

断断续续也做了30多个题了,不总结一下乱做也没效果,有一些还是要背一背的♦ 1002 有一个输出问题, 注意输出格式, 尽量多用scanf printf ,做到现在基本只有在用到string的时候只能cin cout 。♦ 开数组大小的时候要考虑全面,有些时候不通过或者显示段错误的话就把数组再开大点。。♦ 目前遇到的dijkstra题都还没去研究,,接下来这几天的目标就是继续刷题,然...

2018-08-14 19:30:04 464 3

原创 【2022暑期】【LeetCode】31. 下一个排列

LeetCode

2022-06-20 23:52:28 110 1

原创 【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 111

原创 【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 207

原创 【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 86

原创 【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 133

原创 【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 93

原创 【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 180

原创 【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 72

原创 【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 50

原创 【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 138

原创 【2022初春】【笔记】生产者消费者问题

生产者消费者模式,是通过一个容器来解决生产者和消费者之间的强耦合关系。生产者和消费者之间不直接通信,而是通过阻塞队列进行通信。

2022-04-14 15:17:05 94

原创 【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 149

原创 【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 223

原创 【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 85

原创 【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 83

原创 【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 91

原创 【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 106

原创 【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 602

原创 【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 274

原创 【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 145

原创 【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 284

原创 【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 107

原创 【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 79

原创 【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 205

原创 【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 387

原创 【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 102

原创 【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 138

原创 【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 263

原创 【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 94

原创 【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 170

原创 【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 157

原创 【2022初春】【笔记】手撕快排

快排

2022-03-14 15:32:22 118

原创 【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 182

原创 【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 55

原创 【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 255

原创 【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 195

原创 【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 7352

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除