- 博客(30)
- 收藏
- 关注
原创 Leetcode刷题笔记
# 壹 202.快乐数 题目:编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1,那么这个数就是快乐数。如果 n 是 快乐数 就返回 true ;不是,则返回 false 。 代码随想录思路:题目中说了会 无限循环,那么也就是说求和的过程中,sum会重复出现,这对解题很重要!当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考
2023-11-15 00:44:03 107
原创 存储器芯片的基本原理
存储元内包含MOS管和电容单元,MOS管是有电压阈值的电控开关,达到一定电压就会成为导体,否则就是绝缘体。同理,若是此时外部施加的高电平信号,则会让电荷流进存储元内的电容单元,此时为“输入1”。根据CPU中地址寄存器MAR中给出的n位地址,转化为某一条字选线(总共2^n条)的高电平信号(0基)。一条字选线产生的同一个电信号可以控制8个存储单元,每次可以同时读出或写入一整行存储元存储的二进制信息,称为一个存储字。根据地址线指定的地址,在多个存储芯片中,选择和控制需要进行读写操作的和不需要操作的存储芯片。
2023-10-08 18:02:22 475
原创 最大堆(heap)的部分基本操作
堆的插入:由于元素的相对大小是未知的,而树在元素插入的前后都是一个最大堆,因此在插入操作中,最重要的一步就是让新插入的元素找到对应的位置,同时保持它经过的子树仍然是一个最大堆。这里由于每一次与新元素并列的另一个子节点是一定比父节点小的,因此只需要考虑新元素与其父节点的大小关系即可。堆的特性决定了它每次删除的元素都是堆的最大的元素,也是堆的根节点。此时堆内的元素数量减一,因此把堆中编号最后的元素拿出来,先放在根节点的位置。之后每次与它的两个子节点作比较,与子节点中较大的且比该元素大的节点交换位置。
2023-09-16 11:25:48 105
原创 队列的线性实现
在初始化、进队、出队中形参是Myqu类的引用,这是因为以上函数需要对队列做出修改。而出队、返回队列第一个元素、返回队内元素个数等函数内有一个int类的引用,同样出于以上目的。以上代码用一块固定且连续的内存来模拟实现了队列的部分功能,包括初始化、进入队列、出队列、返回队列第一个元素、返回队列内元素个数、是否队列为空等功能。
2023-09-15 18:12:36 60
原创 栈的线性表实现
在初始化、进栈、出栈中形参是Myst类的引用,这是因为以上函数需要对栈做出修改。而栈、返回栈顶元素、返回栈内元素个数等函数内有一个int类的引用,同样出于以上目的。以上代码用一块固定且连续的内存来模拟实现了栈的功能,包括初始化、进栈、出栈、返回栈顶元素、返回栈内元素个数、是否栈空、遍历输出栈内元素等功能。
2023-09-15 18:07:59 42
转载 矢量图形Vector graphics和位图图像Bitmap的区别
矢量图,无论再怎么放大或缩小图形的尺寸,边缘都不会产生据齿(不会失真,即不会变模糊),矢量图可以切割成位图,不过反过来把位图转换为矢量图技术上比较难实现。因此矢量图是用数学方法描述的图,本质上是很多个数学表达式的编程语言表达。矢量图是用一系列计算指令来表示的图,它由矢量轮廓线和矢量色块组成,文件的大小由图像的复杂程度决定,与图形的大小无关,并且矢量图可以无限放大而不会模糊。
2023-02-17 23:49:51 286
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人