自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 【无标题】

大脑中不应该压太多的栈,最多压两个栈,第一个是递归最底层的出口,第二个是中间的某一个递归状态。广度搜索我们需要保存每一个节点的入度数,所以可以用一个一维数组或者HashMap来保存。在进入之前要做的事情是判断这个节点有没有被访问过,如果被访问过了说明是环。深度搜索我们需要保存每一个节点的所有出度点,所以需要用一二维数组来保存。实现拓扑排序有两种方式,一种是深度搜索,一种是广度搜索。函数上面的1和下面的2分别代表递归时的什么含义?没错,数据结构是根据不同的算法需求来选取的。1代表的是递归时准备进入的状态。

2023-07-29 20:20:22 54

原创 双指针本质

基于交换的思想,我们可以把符合条件的元素放到数组前列,不需要的元素放到数组后列,通过slow隔开,就达到了删除的目的。fast的目的就是找到后面需要的元素,然后通过交换统一放到slow的位置,slow++,然后不断重复。数组操作中双指针的本质是可以对两个任意元素进行交换、更改从而不影响数组长度从而不影响遍历。当数组中两个指针 slow,fast 指向了不同的元素是,我们可以干什么。基于上述操作,我们可以干什么。1.交换连个元素的位置。1.删除 -> 消重。

2023-06-21 11:17:17 65

原创 满二叉树的数组表示

2^D - 1. D 的意思是二叉树的高度, 比如当 D = 1 时, 二叉树只有一个节点, 当 D = 2 时, 二叉树有两层, 节点为1, 2, 3, 当 D = 3 时, 节点为 1, 2, 3, 4, 5, 6, 7. 以此类推. 在节点 1 处放一个小球, 它会往下落. 每个内节点上都有一个开关, 初始全部关闭, 当每次有小球落到一个开关上时, 它的状态都会改变. 当小球到达一个内节点时, 如果该节点上的开关关闭, 则往左走, 否则往右走, 直到走到叶子节点.主要是理解二叉树的数组表示。

2023-06-14 11:20:22 359

原创 Huffman code algorithm

小明算数不太好,如果他计算a+b需要花费(a+b)的时间,现在有n个数字,让小明去求这个n个数字的和,求小明计算这n个数字所花费的最小的时间。

2023-06-13 20:27:34 97 1

原创 kotlin 实现安卓底部导航栏(点击变换图标和文字)+Fragment切换

布局逻辑布局代码.kt代码实现点击后图标和文字变换实现点击后Fragment切换效果图一、布局逻辑二、布局XML代码<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:t.

2021-02-24 20:16:46 1296

空空如也

空空如也

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

TA关注的人

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