时月oe

博客园 首页 新随笔 联系 订阅 管理

2022年8月8日 #

摘要: 归并排序 首先简单复习一下归并排序 class Solution { public void divide(int[] nums,int l,int r){ if(l < r){ int mid = (r + l) / 2; divide(nums,l,mid); divide(nums,mid + 阅读全文
posted @ 2022-08-08 09:43 时月oe 阅读(18) 评论(0) 推荐(0) 编辑

2022年7月19日 #

摘要: 题目来源:排序链表 就是对链表进行排序,题目中另外一个要求就是使用$O(nlogn)$时间复杂度的算法,对于链表排序,比较好的办法就是递归排序 基本的算法流程如下 确定链表中点(可以使用快慢指针法) 将链表对半分,分别排序 有序链表合并 1、快慢指针 对于一个链表,想要获取其中点,可以定义两个指针, 阅读全文
posted @ 2022-07-19 18:05 时月oe 阅读(109) 评论(0) 推荐(0) 编辑

摘要: 题目来源:合并两个有序链表 两个链表有序,这个很类似于归并排序的归并过程,但是数组的归并过程会创建一个临时数组,这里如果创建一个临时链表开销就比较大了,因此需要考虑原地排序算法 非递归方案 首先我们定义一个ans节点,用来保存排序后的头节点 然后定义一个prev节点,表示经过排序后的当前节点 首先比 阅读全文
posted @ 2022-07-19 17:33 时月oe 阅读(46) 评论(0) 推荐(0) 编辑

2022年5月7日 #

摘要: 冒泡排序 选择排序 快速排序 阅读全文
posted @ 2022-05-07 18:38 时月oe 阅读(4) 评论(0) 推荐(0) 编辑

摘要: 1、DHCP客户端以广播的形式发送DHCP Discover报文 2、所有的DHCP服务端都可以接收到这个DHCP Discover报文,所有的DHCP服务端都会给出响应,向DCHP客户端发送一个DHCP Offer报文(初始状态) 3、DHCP客户端会收到很多个DHCP服务端发送过来的Offer报 阅读全文
posted @ 2022-05-07 18:23 时月oe 阅读(517) 评论(0) 推荐(0) 编辑

2022年3月19日 #

摘要: 最大正方形 首先说一下暴力方法,就是对于每一个元素,如果是1,那么就判断他的左上角是不是1,如果是,就扩展这个正方形,查看对应的一列和一行是不是全都是1,如果是就继续扩展 暴力法 虽然说我用的是动态规划,但是本质上还是暴力搜索 class Solution { public: int maximal 阅读全文
posted @ 2022-03-19 20:08 时月oe 阅读(38) 评论(0) 推荐(0) 编辑

2022年3月7日 #

摘要: 并查集 并查集的作用就是为了快速判断两个结点是否是联通的,可以用来判断公共祖先等问题 并查集主要的任务就是维护find和union函数 public class UnionFind { public int[] root; public UnionFind(int Size){ root = new 阅读全文
posted @ 2022-03-07 20:37 时月oe 阅读(27) 评论(0) 推荐(0) 编辑

2022年3月1日 #

摘要: (题目链接)[]https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree/] /** * Definition for a binary tree node. * public class TreeNode 阅读全文
posted @ 2022-03-01 20:28 时月oe 阅读(19) 评论(0) 推荐(0) 编辑

摘要: 二叉树的遍历分为 前序遍历 中序遍历 后序遍历 前序遍历 public void preTraverse(TreeNode root) { if(root != null){ System.out.print(root.value); preTraverse(root.left); preTrave 阅读全文
posted @ 2022-03-01 20:00 时月oe 阅读(13) 评论(0) 推荐(0) 编辑