会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
朝才
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
···
27
下一页
2021年7月2日
最小路径和 动态规划
摘要: 题目: 思路: 动态规划 -> 新建grid大小 dp 数组 dp数组中每一个位置存的都是最小路径和 先算[*][0] 和 [0][*] 位置的最小路径和 最终返回dp右下角位置的数据即可 dp[m-1][n-1] (一) 代码 努力不一定有收获 不努力一定不会有
阅读全文
posted @ 2021-07-02 22:13 朝才
阅读(75)
评论(0)
推荐(0)
2021年7月1日
计数排序
摘要: 计数排序 思路: 负数暂不考虑,后续维护 1- 找出数组中的最大值,新建一个 最大值+1 长度大小的数组 2- 数组中的数据 作为计数数组的下标,值存出现的次数 3- 循环计数数组,value > 0 将下标放入结果数组 时间复杂度: O(n + k) 空间复杂度:O(k) (一)代码 public
阅读全文
posted @ 2021-07-01 15:17 朝才
阅读(64)
评论(1)
推荐(1)
2021年6月30日
插入排序
摘要: 插入排序: 思路: 将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。 从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。 时间复杂度: 最好 O(N) 当数组正序 最坏 O(N ^ 2) 当数组倒叙 (一)代码 public class I
阅读全文
posted @ 2021-06-30 16:01 朝才
阅读(20)
评论(0)
推荐(0)
选择排序
摘要: 选择排序算法: 思想: 每次在未排序得数组中找到最小的放到排序数组末尾 时间复杂度: O(n²) (一) 代码 public class SelectionSort { public static void main(String[] args) { int arr[] = new int[]{3,
阅读全文
posted @ 2021-06-30 15:29 朝才
阅读(40)
评论(0)
推荐(0)
归并排序
摘要: 思想: 先拆分,再合并 核心:归并 时间复杂度: 始终都是 O(nlogn) 。代价是需要额外的内存空间 (一) 代码 public class MergeSort { public static void main(String[] args) { int []arr = {9,8,7,6,5,4
阅读全文
posted @ 2021-06-30 15:02 朝才
阅读(37)
评论(0)
推荐(0)
二叉树的最近公共祖先 递归
摘要: 题目: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大 (一个节点也可以是它自己的祖先) 思路: 递归出口 p == root || q == root || root
阅读全文
posted @ 2021-06-30 11:04 朝才
阅读(104)
评论(0)
推荐(0)
2021年6月29日
LRU 缓存机制
摘要: 题目: 思路: 1 运用 LinkedHashMap 已经实现好的LRU 继承 LinkedHashMap 重写 removeEldestEntry 方法 当size() > capatity 返回true 2 使用HashMap 和 双向链表 读缓存时从HashMap 中查找key,更新缓存时同时
阅读全文
posted @ 2021-06-29 17:53 朝才
阅读(67)
评论(0)
推荐(0)
2021年6月28日
从前序与中序遍历序列构造二叉树 递归
摘要: 题目: 思路: 根据前序遍历的第一个数我们可以知道 根节点 根据 根节点 去中序遍历中可以分出左树 与 右树 运用极限逼近的思想,假设只有三个数据 前序【3,9,20】 中序【9,3,20】 去设计算法: 我们将中序中的数据存入map 中 value 存值得下标,根据蓝色字的思想,递归去构建树 (一
阅读全文
posted @ 2021-06-28 12:37 朝才
阅读(66)
评论(0)
推荐(0)
2021年6月27日
最长连续序列
摘要: 题目: 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 思路: 动态规划 1 先对数组排序 2 记录连续递增的结果, 如有不递增的情况,更新结果最大值,重置递增值为1 (一) 代码 年岁
阅读全文
posted @ 2021-06-27 19:21 朝才
阅读(39)
评论(0)
推荐(0)
最长递增子序列 动态规划
摘要: 题目: 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 思路: 动态规划: 新建 nums.length 长度的数组 两次
阅读全文
posted @ 2021-06-27 18:39 朝才
阅读(49)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
···
27
下一页
公告