算法(十)--前缀和
前缀和 如何定义前缀和呢? 所以有s[i+1] = s[i] + nums[i] 下标从i到j-1的非空连续数组的元素和等于k,说明s[j] - s[i] = k 和为k的子数组 将上面的式子转换一下,得到s[i] = s[j] - k;这表示元素和为k的子数组的个数。然后在遍历数组的过程中用哈希表记录前缀和出现的次数,每遍历一个元素,就查看是否存在前缀和为pre - k的,如果...
前缀和 如何定义前缀和呢? 所以有s[i+1] = s[i] + nums[i] 下标从i到j-1的非空连续数组的元素和等于k,说明s[j] - s[i] = k 和为k的子数组 将上面的式子转换一下,得到s[i] = s[j] - k;这表示元素和为k的子数组的个数。然后在遍历数组的过程中用哈希表记录前缀和出现的次数,每遍历一个元素,就查看是否存在前缀和为pre - k的,如果...
前言 本文旨在帮助读者快速复习Cpp,建立起一个完整的Cpp知识体系架构。 Cpp 新特性 掌握 auto、decltype auto:变量类型推断;decltype:表达式类型推断 类型推断可以在编译器就推导出变量或者表达式的类型,方便开发者编码简化代码。 decltype:decltype(expression) var 将 var 的类型定义为 expression 的...
二分查找 重要重要!二分查找的前提是有序数组! 二分查找的基本模板 class Solution { public: int search(vector<int>& nums, int target) { int left = 0, right = nums.size()-1; while(left<=right) { ...
DragonOS syscall alarm q1:什么是syscall alarm? alarm系统调用是我加入dragonos社区领到的第一个任务,算是个新手任务。负责实现alarm系统调用。alarm系统调用的作用就是内核申请一个定时器alarm,在经过一段时间后向用户程序发送一个SYSALATM信号,用户程序捕捉到这个信号后执行提前设定号的回调函数。 这个alarm结构体注册在用...
CPP q1:使用cpp运算符重载,重载类的=运算 class A { public: int* data; A(int data_) : data(new int(data_)) {} // 拷贝构造函数 A(const A& a) : data(new int(*a.data)) {} // 重载=运算符 A& operat...
经典图算法 一、图的搜索 深度优先遍历 图示意: void bfs(vector<vector<int>>& G, vector<bool>& seen, int u) { if (减枝条件) { return; } if (满足答案) { // 记录结果 return; } // 访问节点u seen...
项目范围管理 范围 / scope 开发项目产品所涉及的所有工作和用来开展工作的所有过程 项目范围管理 / project scope manager 界定和控制项目中应该包括什么和不包括什么所涉及的过程。项目范围管理包括的6个主要过程: 计划范围管理 确定如何管理项目的范围和需求 收集需求 定义并记录产品的特点和功能,以及开发这些产品的过程 定义范围 审查范围管理计划、项...
感谢刘子龙(875159954)群友的测试支持。 Mt7981 配置指南 路由器推荐: 推荐理由 信号好,ax3000规格, 价格相对实惠 双核A53足够跑梯子,能到300Mbps左右,比7621强很多 缺点: 群里提供了一个编译好的固件,但是因为当前完善度不够,需要手动配置较多,需要动手能力 20240223更新: 出了很多新的7981路由器,固件包里有的...
转载自https://www.kaitaku.xyz/misc/ax3000t-openwrt/ 小米 AX3000T openwrt 刷机 —— 从入坑到刷回原厂 前言 作者于前端时间购入一台 AX3000T 作为 Mesh 网络节点,后续发现由于没有弱信号剔除导致设备连到 AX3000T 之后就回不到主节点了 所以想刷入 openwrt 来解决这个问题(最后也没解决) 本文需要硬件设...
前言 Boost.Asio, Asio的全称是asynchronous io, 可见异步io是这个组件库的主题。在任何高性能开发中、异步io永远是一个绕不开的话题,可谓高性能的基础是异步执行io事件,尽可能减少同步阻塞io操作。