08 2022 档案
摘要:####1. 生产者-消费者问题(互斥+同步) 生产者把消息放入缓冲区,消费者从中取出信息,二者互斥访问 semaphore mutex = 1;//互斥访问缓冲区,因为有多个缓冲区资源 semaphore empty = n;//n个空闲区资源,内部互斥 semaphore full = 0;//
阅读全文
posted @ 2022-08-28 01:52
失控D大白兔
摘要:####1. 返回尾零数量 可以转换为求质因子为2和5数量的较小值,实际上就是求质因子为5的数量 class Solution { public: int trailingZeroes(int n) { int ans = 0; for (int i = 5; i <= n; i += 5) //遍
阅读全文
摘要:给定排序好的数组 arr ,两个整数 k 和 x ,从数组中找到最靠近 x(两数之差最小)的 k 个数。返回的结果必须要是按升序排好的 ####1. 通用调库解法 class Solution { public: vector<int> findClosestElements(vector<int>
阅读全文
posted @ 2022-08-25 00:48
失控D大白兔
摘要:一个 n x n 的二维网络 board 仅由 0 和 1 组成 。每次移动,你能任意交换两列或是两行的位置 返回将这个矩阵变为 “棋盘” 所需的最小移动次数 ,如果不存在可行的变换,输出 -1 ####1. 数学方法 移动使满足条件的题目,首先得判断棋盘是否满足条件 容易从棋盘得知,需要满足以下几
阅读全文
posted @ 2022-08-23 08:18
失控D大白兔
摘要:####1. 非递归先序 vector<int> preorderTraversal(TreeNode* root) { vector<int> nums; stack<TreeNode*> s; while(root||!s.empty()){ if(root){ nums.push_back(r
阅读全文
posted @ 2022-08-21 23:04
失控D大白兔
摘要:####1. 递归删除指定值(无头结点) void Del(ListNode* L,int val){ ListNode* p;//指向被删除节点 if(L==NULL) return;//递归边界 if(L->val==val){//处理首指针 p = L; L = L->next; free(p
阅读全文
posted @ 2022-08-20 19:53
失控D大白兔
摘要:####1. 删除返回最小值并由最后元素填补 bool Del_Min(vector<int>& nums,int &val) { if(nums.size()==0) return false; int pos = 0;//假定0号元素最小 for(int i=1;i<nums.size();i+
阅读全文
posted @ 2022-08-20 18:35
失控D大白兔
摘要:给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值 递归地在最大值 左边 的 子数组前缀上 构建左子树 递归地在最大值 右边 的 子数组后缀上 构建右子树 ####1. 暴力分治构造 暴力在于每次递归都要找一次
阅读全文
posted @ 2022-08-20 00:56
失控D大白兔
摘要:###一. 计算机系统概述 ####1. 基本概念和特征 操作系统是指控制和管理整个计算机系统的硬件和软件资源 合理组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合 并行是指两个或多个事件在同一时刻发生,并发是指两个或多个事件在同一时间间隔发生 单处理器微观上只能
阅读全文
posted @ 2022-08-19 22:36
失控D大白兔
摘要:有一个单线程CPU 正在运行一个含有 n 道函数的程序。每道函数都有一个位于 0 和 n-1 之间的唯一标识符 函数调用存储在一个调用栈 上 :当一个函数调用开始时,它的标识符将会推入栈中。而当一个函数调用结束时,它的标识符将会从栈中弹出。标识符位于栈顶的函数是 当前正在执行的函数 。每当一个函数开
阅读全文
posted @ 2022-08-19 00:13
失控D大白兔
摘要:给你一个正整数数组 nums,请你帮忙从该数组中找出能满足下面要求的最长前缀,并返回该前缀的长度 从前缀中恰好删除一个元素后,剩下每个数字的出现次数都相同。 ####1. 双哈希表 一个记录每个值的频数,一个记录每个频数的个数 class Solution { public: int maxEqua
阅读全文
posted @ 2022-08-18 00:34
失控D大白兔
摘要:####1. 最多能完成排序的块I 给定一个长度为 n 的整数数组 arr ,它表示在 [0, n - 1] 范围内的整数的排列。 我们将 arr 分割成若干 块 (即分区),并对每个块单独排序。将它们连接起来后,使得连接的结果和按升序排序后的原数组相同。 返回数组能分成的最多块数量。 //从左往右
阅读全文
posted @ 2022-08-15 06:45
失控D大白兔
摘要:有 n 个人被分成数量未知的组。每个人都被标记为一个从 0 到 n - 1 的唯一ID 。 给定一个整数数组 groupSizes ,其中 groupSizes[i] 是第 i 个人所在的组的大小 例如,如果 groupSizes[1] = 3 ,则第 1 个人必须位于大小为 3 的组中 每个人应该
阅读全文
posted @ 2022-08-12 00:30
失控D大白兔
摘要:####1. 辗转相除法 ``` int gcd(int a, int b) { //求最大公约数 return b?gcd(b, a % b):a; } int lcm(int a, int b) { //求最小公倍数 return (a * b) / gcd(a, b); } ``` ####2
阅读全文
posted @ 2022-08-11 21:15
失控D大白兔
摘要:####1. 重新格式化字符 给你一个混合了数字和字母的字符串 s,其中的字母均为小写英文字母。 请你将该字符串重新格式化,使得任意两个相邻字符的类型都不同 class Solution { public: string reformat(string s) { int digits=0; for(
阅读全文
posted @ 2022-08-11 20:05
失控D大白兔
摘要:###一. 概述 数据结构是相互之间存在一种或多种特定关系的数据元素集合 主要包括三个方面:逻辑结构、存储结构和数据的运算 算法的设计取决于逻辑结构,而其实现依赖于存储结构 逻辑结构 线性结构:线性表 非线性结构:集合、树、图 存储结构 顺序存储:逻辑上相邻的元素,物理位置上也相邻,存储单位地址连续
阅读全文
posted @ 2022-08-11 01:13
失控D大白兔
摘要:###一. 面向对象 ####1. 面向对象的作用 在C语言的结构体中,结构体的设计思路是面向程序的,只能反映其若干属性, 而不能反映动作和方法,函数与数据结构是分离的,不适合体现出整体的关系, 同时不便于封装、代码重用和维护,以及缺少对数据的保护 ####2. 封装、继承、多态 * 封装:一方面使
阅读全文
posted @ 2022-08-10 20:04
失控D大白兔

浙公网安备 33010602011771号