跳跃游戏 55. 跳跃游戏 - 力扣(LeetCode)给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 示例 1: 123输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 2023-02-26 算法 > 贪心 #算法
跳跃游戏Ⅱ 45. 跳跃游戏 II - 力扣(LeetCode)给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处: 0 <= j <= nums[i] i + j < n 返回到达 nums[n - 1] 的 2023-02-26 算法 > 贪心 #算法
买卖股票的最佳时机Ⅱ 122. 买卖股票的最佳时机 II - 力扣(LeetCode)给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。 返回 你能获得的 最大 利润 。 示例 1: 12345输入:prices = [7,1,5,3,6,4]输 2023-02-25 算法 > 贪心 #算法
最大子数组和 53. 最大子数组和 - 力扣(LeetCode)给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 123输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。 示例 2: 12输入:nums = [1]输出:1 2023-02-24 算法 > 贪心 #算法
IO管理 DMA 技术在没有 DMA 技术前,I/O 的过程是这样的: CPU 发出对应的指令给磁盘控制器,然后返回; 磁盘控制器收到指令后,于是就开始准备数据,会把数据放入到磁盘控制器的内部缓冲区中,然后产生一个中断; CPU 收到中断信号后,停下手头的工作,接着把磁盘控制器的缓冲区的数据一次一个字节地读进自己的寄存器,然后再把寄存器里的数据写入到内存,而在数据传输的期间 CPU 是无法执行其 2023-02-24 计算机基础 > 操作系统 #计算机基础
内存管理 内存管理内存管理主要做了什么?操作系统的内存管理非常重要,主要负责下面这些事情: 内存的分配与回收:对进程所需的内存进行分配和释放,malloc 函数:申请内存,free 函数:释放内存。 地址转换:将程序中的虚拟地址转换成内存中的物理地址。 内存扩充:当系统没有足够的内存时,利用虚拟内存技术或自动覆盖技术,从逻辑上扩充内存。 内存映射:将一个文件直接映射到进程的进程空间中,这样可以通过内存指针 2023-02-24 计算机基础 > 操作系统 #计算机基础
文件管理 文件管理文件系统主要做了什么?文件系统主要负责管理和组织计算机存储设备上的文件和目录,其功能包括以下几个方面: 存储管理:将文件数据存储到物理存储介质中,并且管理空间分配,以确保每个文件都有足够的空间存储,并避免文件之间发生冲突。 文件管理:文件的创建、删除、移动、重命名、压缩、加密、共享等等。 目录管理:目录的创建、删除、移动、重命名等等。 文件访问控制:管理不同用户或进程对文件的访问权限,以 2023-02-24 计算机基础 > 操作系统 #计算机基础
进程管理 进程进程和线程的区别是什么?进程 进程是程序在操作系统中的一个执行实例。它包含了程序代码、数据、和资源(如文件句柄、内存)等。它是操作系统分配资源的基本单位,进程各自都有自己的内存空间,它由操作系统调度。也由于进程有独立的地址空间,所以进程间切换(上下文切换)开销较大。进程间通信(IPC)复杂,需要借助操作系统提供的机制,如管道、消息队列、共享内存等。 线程 线程是进程中的一个执行单元,属于轻量级 2023-02-24 计算机基础 > 操作系统 #计算机基础
分发饼干 455. 分发饼干 - 力扣(LeetCode)假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并 2023-02-23 算法 > 贪心 #算法
摆动序列 376. 摆动序列 - 力扣(LeetCode)如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3) 是正负交替出现的。 相反,[1, 4, 7, 2, 5] 和 [1 2023-02-23 算法 > 贪心 #算法