自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

刘胖仔学后端

一步一步 扎扎实实

  • 博客(120)
  • 收藏
  • 关注

原创 Leetcode Hot100不熟练题目 139. 单词拆分

1、题目描述给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true 因为 “leetcode” 可以由 “leet” 和 “code” 拼接成。示例 2:输入: s = “applepenapple”, wordDict

2022-02-19 13:08:04 6512

原创 Leetcode Hot100不熟练题目 84. 柱状图中的最大矩形

1、题目描述给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。示例 1:输入:heights = [2,1,5,6,2,3]输出:10解释:最大的矩形为图中红色区域,面积为 102、思路2.1 暴力遍历每个元素,找出其两边能拓展的最远距离,统计答案即可。class Solution {public: int largestRectangleArea(vector<int>&

2022-02-19 10:56:27 253

原创 Leetcode Hot100不熟练题目 85. 最大矩形

1、题目描述给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。示例 1:输入:matrix = [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,“1”,“1”],[“1”,“0”,“0”,“1”,“0”]]输出:6解释:最大矩形如上图所示。示例 2:输入:matrix = []输出:0示例 3:输入:matrix = [[“0”]]输出:0示例

2022-02-18 16:37:06 436

原创 Leetcode Hot100不熟练题目 76.最小覆盖子串

1、题目描述给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。注意:对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果 s 中存在这样的子串,我们保证它是唯一的答案。示例 1:输入:s = “ADOBECODEBANC”, t = “ABC”输出:“BANC”示例 2:输入:s = “a”, t = “a”输出:“a”示例 3:输入: s = “a”

2022-02-18 14:00:03 442

原创 Leetcode Hot100不熟练题目 75.颜色分类

1、题目描述给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库的sort函数的情况下解决这个问题。示例 1:输入:nums = [2,0,2,1,1,0]输出:[0,0,1,1,2,2]示例 2:输入:nums = [2,0,1]输出:[0,1,2]提示:n == nums.lengt

2022-02-17 22:00:47 136

原创 Leetcode Hot100不熟练题目 72. 编辑距离

1、题目描述给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入:word1 = “horse”, word2 = “ros”输出:3解释:horse -> rorse (将 ‘h’ 替换为 ‘r’)rorse -> rose (删除 ‘r’)rose -> ros (删除 ‘e’)示例 2:输入:word1 = “int

2022-02-17 20:57:43 7665

原创 Leetcode Hot100不熟练题目 48. 旋转图像

1、题目描述给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[7,4,1],[8,5,2],[9,6,3]]提示:n == matrix.length == matrix[i].length1 <= n <= 20-1000 <= mat

2022-02-17 17:52:09 81

原创 Leetcode Hot100不熟练题目 32. 最长有效括号

1、题目描述给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。示例 1:输入:s = “(()”输出:2解释:最长有效括号子串是 “()”示例 2:输入:s = “)()())”输出:4解释:最长有效括号子串是 “()()”示例 3:输入:s = “”输出:0提示:0 <= s.length <= 3 * 10^4s[i] 为 ‘(’ 或 ‘)’2、思路及代码1、暴力由于最长有效括号一定是偶数,所以按照最大的偶数区间寻

2022-02-17 17:33:20 251

原创 Leetcode Hot100不熟练题目 31. 下一个排列

1、题目描述整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的 下一个排列 就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。例如,

2022-02-17 15:07:26 94

原创 Leetcode Hot100不熟练题目 15.三数之和

1、题目描述给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]提示:0 <= nums.length <= 3000-1

2022-02-17 13:32:51 189

原创 Leetcode Hot100不熟练题目 10. 正则表达式匹配

1、题目描述给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。示例 1:输入:s = “aa”, p = “a”输出:false解释:“a” 无法匹配 “aa” 整个字符串。示例 2:输入:s = “aa”, p = “a*”输出:true解释:因为 ‘*’ 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就

2022-02-16 17:44:14 269

原创 Leetcode Hot100不熟练题目 11. 盛最多水的容器

1、题目描述给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例 2:输入:heig

2022-02-14 21:45:37 104

原创 Leetcode Hot100不熟练题目 96. 不同的二叉搜索树

1、题目描述给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。示例 1:输入:n = 3输出:5示例 2:输入:n = 1输出:1提示:1 <= n <= 192、思路及代码1、动态规划我们用G[n]代表n个节点可以构成的二叉搜索树的数量。f[i]表示以i为根节点的二叉搜索树数量。对于给定的n个节点。我们需要的结果就是G[n]。G[n] = f[1] + f[2] + f[3] + …

2022-02-14 18:06:05 426

原创 Leetcode Hot100不熟练题目 124. 二叉树中的最大路径和

1、题目描述路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root ,返回其 最大路径和 。示例 1:输入:root = [1,2,3]输出:6解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6示例 2:输入:root = [-10,9,20,null,null,15

2022-02-14 16:43:08 63

原创 Leetcode Hot100不熟练题目 42. 接雨水

1、题目给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入:height = [4,2,0,3,2,5]输出:9...

2022-02-14 15:46:01 6819

原创 Leetcode Hot100不熟练题目 4. 寻找两个正序数组的中位数

1、题目描述给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2

2022-02-13 17:28:27 1179

原创 2022.01.12 Leetcode 每日一题 递增的三元子序列

1、题目递增的三元子序列给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。示例 1:输入:nums = [1,2,3,4,5]输出:true解释:任何 i < j < k 的三元组都满足题意示例 2:输入:nums = [5,4,3,2,1]输出

2022-01-12 20:56:19 162

原创 2022.01.11 Acwing寒假每日一题 奶牛过马路

1、题目奶牛过马路每天,农夫约翰的 N 头奶牛都会穿过农场中间的马路。考虑约翰的农场在二维平面的地图,马路沿水平方向延伸,马路的一侧由直线 y=0 描述,另一侧由直线 y=1 描述。奶牛 i 从马路一侧的位置 (ai,0) 沿直线过马路到达另一侧的位置 (bi,1)。所有 ai 互不相同,所有 bi 互不相同。尽管他的奶牛们行动敏捷,他还是担心行动路径交叉的两头奶牛在过马路时发生碰撞。约翰认为,如果一头奶牛的行动路径没有跟其他任何奶牛的行动路径相交,则该奶牛是安全的。请帮助约翰计算安全奶牛的数

2022-01-12 20:37:21 410

原创 2022.01.10 Acwing寒假每日一题 粉刷栅栏

1、题目粉刷栅栏农夫约翰发明了一种绝妙的方法来粉刷牛棚旁边的长栅栏(把栅栏想象成一维的数轴)。他只需要在他最喜欢的奶牛贝茜身上挂一个刷子,然后在一旁悠闲的喝凉水就行了。贝茜沿着栅栏来回走动时,会将她走过的栅栏部分涂上油漆。贝茜从栅栏上的位置 0 处开始,共进行 N 次移动。移动可能形如 10 L,表示向左移动 10 单位距离,也可能形如 15 R,表示向右移动 15 单位距离。给定贝茜的 N 次移动列表,约翰想知道至少被涂抹了 2 层油漆的区域的总长度。整个行进过程中,贝茜距离出发地的距离不会

2022-01-12 12:32:49 423

原创 2022.01.11 Leetcode 每日一题 逃离大迷宫

1、题目在一个 106 x 106 的网格中,每个网格上方格的坐标为 (x, y) 。现在从源方格 source = [sx, sy] 开始出发,意图赶往目标方格 target = [tx, ty] 。数组 blocked 是封锁的方格列表,其中每个 blocked[i] = [xi, yi] 表示坐标为 (xi, yi) 的方格是禁止通行的。每次移动,都可以走到网格中在四个方向上相邻的方格,只要该方格 不 在给出的封锁列表 blocked 上。同时,不允许走出网格。只有在可以通过一系列的移动从源方

2022-01-12 00:59:29 289

原创 2022.01.10 Leetcode 每日一题 累加数

1、题目累加数累加数 是一个字符串,组成它的数字可以形成累加序列。一个有效的 累加序列 必须 至少 包含 3 个数。除了最开始的两个数以外,字符串中的其他数都等于它之前两个数相加的和。给你一个只包含数字 ‘0’-‘9’ 的字符串,编写一个算法来判断给定输入是否是 累加数 。如果是,返回 true ;否则,返回 false 。说明:累加序列里的数 不会 以 0 开头,所以不会出现 1, 2, 03 或者 1, 02, 3 的情况。示例 1:输入:“112358”输出:true解释:累加序列为:

2022-01-10 16:02:26 2365

原创 2022.01.09 Acwing寒假每日一题 打乱字母

1、题目打乱字母农夫约翰将按字典序排列的 N 头奶牛的名字列表贴在了牛棚的门上。每个奶牛的名字都由一个长度介于 1 到 20 之间的由小写字母构成的唯一字符串表示。麻烦制造者贝茜将列表中的奶牛名字重新排序打乱了列表。此外,她还对每头奶牛的名字中的字母顺序进行了重新排列(也可能保持不变)。给定修改过后的列表,请帮助约翰确定列表中的每个名字可能出现在原始列表中的最低和最高位置。输入格式第一行包含整数 N。接下来 N 行,按照修改过后列表的顺序,给出了修改过后的奶牛的名字。输出格式共 N 行,

2022-01-10 14:29:06 458

原创 2022.01.09 Leetcode 每日一题 按键持续时间最长的键

1、题目1629. 按键持续时间最长的键LeetCode 设计了一款新式键盘,正在测试其可用性。测试人员将会点击一系列键(总计 n 个),每次一个。给你一个长度为 n 的字符串 keysPressed ,其中 keysPressed[i] 表示测试序列中第 i 个被按下的键。releaseTimes 是一个升序排列的列表,其中 releaseTimes[i] 表示松开第 i 个键的时间。字符串和数组的 下标都从 0 开始 。第 0 个键在时间为 0 时被按下,接下来每个键都 恰好 在前一个键松开时被按下

2022-01-09 20:56:11 66

原创 2022.01.08 Leetcode 每日一题 格雷编码

1、题目格雷编码n 位格雷码序列 是一个由 2n 个整数组成的序列,其中:每个整数都在范围 [0, 2n - 1] 内(含 0 和 2n - 1)第一个整数是 0一个整数在序列中出现 不超过一次每对 相邻 整数的二进制表示 恰好一位不同 ,且第一个 和 最后一个 整数的二进制表示 恰好一位不同给你一个整数 n ,返回任一有效的 n 位格雷码序列 。示例 1:输入:n = 2输出:[0,1,3,2]解释:[0,1,3,2] 的二进制表示是 [00,01,11,10] 。00 和 0

2022-01-09 20:44:59 2554

原创 2022.01.07 Acwing寒假每日一题 马铁蹄

1、题目马铁蹄尽管奶牛贝茜发现每个平衡括号字符串都很美观,但她特别喜欢被她称为“完全”平衡的括号字符串----一个由 ( 构成的字符串后接一个长度相同的 ) 构成的字符串。例如:(((())))有一天,当贝茜穿过牛棚时,她发现地面上有一个 N×N 的马蹄铁矩阵。每个马蹄铁的方向都看上去像 ( 或 )。从矩阵的左上角开始,贝茜希望四处走动以拾起马蹄铁,使得她捡起的马蹄铁按顺序构成的括号字符串是完全平衡的。请计算她能得到的最长完全平衡括号字符串的长度。每一步中,贝茜可以沿上下左右四个方向移动。她

2022-01-08 21:49:09 182

原创 Acwing 第33场周赛

1、判断数字给定一个整数 n,请你统计其各位数字中 4 和 7 的出现次数。如果 4 的出现次数加上 7 的出现次数恰好等于 4 或 7,则输出 YES,否则输出 NO。例如,当 n=40047 时,4 出现了 2 次,7 出现了 1 次,2+1=3,既不是 4 也不是 7,因此,输出 NO;当 n=7747774 时,4 出现了 2 次,7 出现了 5 次,2+5=7,因此,输出 YES。输入格式一个整数 n。输出格式一行,YES 或者 NO。数据范围所有测试点满足 1≤n≤10^18。

2022-01-08 20:10:33 563

原创 2022.01.07 Leetcode 每日一题 括号的最大嵌套深度

1、题目括号的最大嵌套深度如果字符串满足以下条件之一,则可以称之为 有效括号字符串(valid parentheses string,可以简写为 VPS):字符串是一个空字符串 “”,或者是一个不为 “(” 或 “)” 的单字符。字符串可以写为 AB(A 与 B 字符串连接),其中 A 和 B 都是 有效括号字符串 。字符串可以写为 (A),其中 A 是一个 有效括号字符串 。类似地,可以定义任何有效括号字符串 S 的 嵌套深度 depth(S):depth("") = 0depth© = 0

2022-01-08 18:57:19 93

原创 2022.01.06 Leetcode 每日一题 简化路径

1、题目简化路径给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/’ 开头),请你将其转化为更加简洁的规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,’//’)都被视为单个斜杠 ‘/’ 。 对于此问题,任何其他格式的点(例如,’…’)均被视为文件/目录名称。请注意,返回的 规范路径 必须遵循下述格式:始终以斜杠 ‘/’

2022-01-08 18:47:36 70

原创 2022.01.06 Acwing寒假每日一题 岛

1、题目岛每当下雨时,农夫约翰的田地总是被洪水淹没。由于田地不是完全水平的,所以一些地方充满水后,留下了许多被水隔开的“岛”。约翰的田地被描述为由 N 个连续高度值 H1,…,HN 指定的一维场景。假设该场景被无限高的围墙包围着,请考虑暴雨期间发生的情况:最低处首先被水覆盖,形成一些不连贯的岛,随着水位的不断上升,这些岛最终都会被覆盖。一旦水位等于一块田地的高度,那块田地就被认为位于水下。上图显示了一个示例:在左图中,我们只加入了刚好超过 1 单位的水,此时剩下 4 个岛(最大岛屿剩余数量)

2022-01-08 11:27:22 131

原创 2022.01.05 Leetcode 每日一题 替换所有的问号

1、题目替换所有的问号给你一个仅包含小写英文字母和 ‘?’ 字符的字符串 s,请你将所有的 ‘?’ 转换为若干小写字母,使最终的字符串不包含任何 连续重复 的字符。注意:你 不能 修改非 ‘?’ 字符。题目测试用例保证 除 ‘?’ 字符 之外,不存在连续重复的字符。在完成所有转换(可能无需转换)后返回最终的字符串。如果有多个解决方案,请返回其中任何一个。可以证明,在给定的约束条件下,答案总是存在的。示例 1:输入:s = “?zs”输出:“azs”解释:该示例共有 25 种解决方案,从 “a

2022-01-07 10:09:46 106

原创 2022.01.05 Acwing寒假每日一题 拖拉机

1、题目拖拉机干了一整天的活,农夫约翰完全忘记了他把拖拉机落在田地中央了。他的奶牛非常调皮,决定对约翰来场恶作剧。她们在田地的不同地方放了 N 捆干草,这样一来,约翰想要开走拖拉机就必须先移除一些干草捆。拖拉机的位置以及 N 捆干草的位置都是二维平面上的整数坐标点。拖拉机的初始位置上没有干草捆。当约翰驾驶拖拉机时,他只能沿平行于坐标轴的方向(北,南,东和西)移动拖拉机,并且拖拉机必须每次移动整数距离。例如,驾驶拖拉机先向北移动 2 单位长度,然后向东移动 3 单位长度。拖拉机无法移动到干草捆

2022-01-07 09:49:17 279

原创 2022.01.04 Leetcode 每日一题 猫和老鼠

1、题目猫和老鼠两位玩家分别扮演猫和老鼠,在一张 无向 图上进行游戏,两人轮流行动。图的形式是:graph[a] 是一个列表,由满足 ab 是图中的一条边的所有节点 b 组成。老鼠从节点 1 开始,第一个出发;猫从节点 2 开始,第二个出发。在节点 0 处有一个洞。在每个玩家的行动中,他们 必须 沿着图中与所在当前位置连通的一条边移动。例如,如果老鼠在节点 1 ,那么它必须移动到 graph[1] 中的任一节点。此外,猫无法移动到洞中(节点 0)。然后,游戏在出现以下三种情形之一时结束:如果猫

2022-01-04 15:40:35 4399

原创 2022.01.04 Acwing寒假每日一题 奶牛选美

1、 题目奶牛选美听说最近两斑点的奶牛最受欢迎,约翰立即购进了一批两斑点牛。不幸的是,时尚潮流往往变化很快,当前最受欢迎的牛变成了一斑点牛。约翰希望通过给每头奶牛涂色,使得它们身上的两个斑点能够合为一个斑点,让它们能够更加时尚。牛皮可用一个 N×M 的字符矩阵来表示,如下所示:其中,X 表示斑点部分。如果两个 X 在垂直或水平方向上相邻(对角相邻不算在内),则它们属于同一个斑点,由此看出上图中恰好有两个斑点。约翰牛群里所有的牛都有两个斑点。约翰希望通过使用油漆给奶牛尽可能少的区域内涂色,将

2022-01-04 14:00:03 468

原创 C++ nth_element 介绍

1、功能使用默认比较器template <class RandomAccessIterator>void nth_element (RandomAccessIterator first, RandomAccessIterator nth, RandomAccessIterator last);自定义元素比较器template <class RandomAccessIterator, class Compare>void nth_element (RandomAccessI

2022-01-04 13:52:27 1098

原创 第九章 虚拟内存 第十节 垃圾收集

1、垃圾收集器的基本知识所谓垃圾收集,就是显示的分配堆块而不去显示的释放。由垃圾收集器对已分配但是程序不再需要的堆块进行释放。1. 节点该图的节点被分成一组根节点(root node)和一组堆节点(heap node)。堆节点每个堆节点对应堆中的一个已分配块。 有向边p–>q意味着块p中的某个位置指向块q中的某个位置。根节点根节点对应于这样一种不在堆中的位置, 它们中包含指向堆中的指针。 这些位置可以是寄存器、栈里的变量, 或者是虚拟内存中读写数据区域内的全局变量。2. 可达与不

2022-01-04 12:59:54 147

原创 第九章 虚拟内存 第九节 动态内存分配

1、动态内存分配概述动态内存分配器维护着一个进程的虚拟内存区域, 称为堆(heap)分配器将堆视为一组不同大小的块(block)的集合来维护。每个块就是一个连续的虚拟内存片(chunk),要么是已分配的, 要么是空闲的分配器有两种风格,都要求显示的分配块,但是其不同之处在于如何释放块。显式分配器要求显示的释放已分配的块,如C中的free函数隐式分配器要求分配器检测一个已分配块何时不再被程序所使用,就释放块。2、malloc和free函数...

2022-01-04 11:17:26 817

原创 第九章 虚拟内存 第八节 内存映射

1、内存映射概述Linux 通过将一个虚拟内存区域与一个磁盘上的对象(object) 关联起来,以初始化这个虚拟内存区域的内容,这个过程称为内存映射(memory mapping)。虚拟内存区域可以映射到两种类型的对象中的一种:Linux文件系统中的普通文件一个区域可以映射到一个普通磁盘文件的连续部分,例如一个可执行目标文件。文件区(section)被分成页大小的片,每一片包含一个虚拟页面的初始内容。因为按需进行页面调度,所以这些虚拟页面没有实际交换进入物理内存,直到CPU第一次引用到页面(即发

2022-01-03 16:49:19 3209

原创 2022.01.03 Leetcode 每日一题 一周中的第几天

1、题目一周中的第几天给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。输入为三个整数:day、month 和 year,分别表示日、月、年。您返回的结果必须是这几个值中的一个 {“Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”}。示例 1:输入:day = 31, month = 8, year = 2019输出:“Saturday”示例 2:输入:day = 18, mont

2022-01-03 16:01:21 183

原创 2022.01.03 Acwing寒假每日一题 干草堆

1、题目干草堆贝茜对她最近在农场周围造成的一切恶作剧感到抱歉,她同意帮助农夫约翰把一批新到的干草捆堆起来。开始时,共有 N 个空干草堆,编号 1∼N。约翰给贝茜下达了 K 个指令,每条指令的格式为 A B,这意味着贝茜要在 A..B 范围内的每个干草堆的顶部添加一个新的干草捆。例如,如果贝茜收到指令 10 13,则她应在干草堆 10,11,12,13 中各添加一个干草捆。在贝茜完成了所有指令后,约翰想知道 N 个干草堆的中值高度——也就是说,如果干草堆按照高度从小到大排列,位于中间的干草堆的高度。

2022-01-03 15:30:52 104

原创 2022.01.02 Acwing寒假每日一题 笨拙的手指

1、题目笨拙的手指奶牛贝茜正在学习如何在不同进制之间转换数字。但是她总是犯错误,因为她无法轻易的用两个前蹄握住笔。每当贝茜将数字转换为一个新的进制并写下结果时,她总是将其中的某一位数字写错。例如,如果她将数字 14 转换为二进制数,那么正确的结果应为 1110,但她可能会写下 0110 或 1111。贝茜不会额外添加或删除数字,但是可能会由于写错数字的原因,写下包含前导 0 的数字。给定贝茜将数字 N 转换为二进制数字以及三进制数字的结果,请确定 N 的正确初始值(十进制表示)。输入格式第一

2022-01-03 00:42:19 125

空空如也

空空如也

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

TA关注的人

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