[LC]105.从前序与中序遍历序列构造二叉树 题目给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。 分析先序序列的第一个元素是树的根,在中序序列中定位到这个元素,该元素的左边都是左子树中的结点,右边都是右子树中的结点,据此,可以将问题规约为两个更小的子问题,递归求解。 代码 123456789101112131415161 2024-10-06 算法 > 分治算法 #algorithm #分治 #leetcode
[LC]53.最大子数组和 题目给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组中的一个连续部分。 分析遍历用 max 维护最大子数组和,cur_b 维护当前子数组的起始位置,cur 维护当前子数组的和,i 维护当前遍历的位置,每遍历到一个位置,我们将当前位置的值加到 cur 上,然后判断 cur 是否小于 max ,如果大于 max ,则更新 max 2024-10-06 算法 #algorithm #分治 #leetcode
[C++]类型极端值 在 C++ 中,不同类型有各自的极端值,包括最小值、最大值和表示特殊情况的值(如无穷大、未定义值等)。这些极端值在算法和编程中经常被使用,比如设置边界条件、初始化变量等。下面将介绍各个基本类型的极端值及其使用方法。 1. 整型类型常见的整型类型 int:标准整型 long:较大的整型 long long:更大的整型 unsigned int:无符号整型,不能表示负数 char:字符类型,本质上是一 2024-10-06 编程语言 #C++
[C++]优先队列 C++ 中的 优先队列(priority_queue)是一个容器适配器,用来管理带优先级的队列,内部采用堆(通常是二叉堆)来维护元素的顺序。优先队列保证每次取出的元素是队列中优先级最高的元素。 2024-10-05 编程语言 #C++ #数据结构
[LC]23.合并k个升序链表 题目给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 分析分治将k个链表两两配对合并为一个更长的有序链表,将原问题规约为规模更小的子问题。 代码 123456789101112131415161718192021222324252627282930313233343536373839404142434445/** * Definition for 2024-10-05 算法 > 分治算法 #algorithm #分治 #leetcode
[LC]4.寻找两个正序数组的中位数 题目给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (m+n)) 。 分析暴力解直接归并两个有序数组,然后求中位数即可 时间复杂度 :$O(m+n)$ 二分查找先考虑更一般的问题,找第$k$小的数。 为了找到第$k$小的数,先考虑$A[k/2 - 1]$和$B[k/ 2024-10-05 算法 > 分治算法 #algorithm #分治 #leetcode
[MIT 6.1810]Lab3 page tables 1 Inspect a user-process page table (easy) PTE 逻辑内容 权限位 va 0x0 pte 0x21FC885B pa 0x87F22000 perm 0x5B text AUXRV va 0x1000 pte 0x21FC7C17 pa 0x87F1F000 perm 0x17 data UWRV va 0x2000 pte 0x2 2024-10-05 操作系统 #MIT 6.1810
[MIT 6.1810]Lab2 system calls 1 Using gdb(easy)gdb配置使用gdb调试 运行 make qemu-gdb 命令 另外一个窗口中运行 riscv-64-unknown-elf-gdb kernel/kernel 命令 然后在gdb环境中运行 (gdb) target remote localhost:26000 命令即可 3中的端口号在.gdbinit文件中查看: 1234567# .gdbinitset 2024-10-04 操作系统 #MIT 6.1810
[C++]C++Primer Chapter 16 模板与泛型编程16.1 定义模板16.1.1 函数模板一个函数模板就是一个公式,可用来生成针对特定类型的函数版本。 模板定义以关键字template开始,后跟一个模板参数列表(template parameter list),这是一个逗号分隔的一个或多个模板参数(template parameter)的列表,用小于号(<)和大于号(>)包围起来。 模板参数表示在类或函数定义中用到的类型 2024-10-04 编程语言 #C++