1074.元素和为目标值的子矩阵数量
题目 原题 1074.元素和为目标值的子矩阵数量 解题 这个题目直接使用暴力方法竟然能 AC… 暴力思路是:先计算出二维数组的前缀和并存储下来,然后使用 O(n^4) 枚举所有可能出现的子矩阵位置(枚举左上角的坐标和右下角的坐标即可),然后通过存储的前缀和去计算出每个子矩阵的 sum,判断是否符合 target。 现在需要探讨的是使用 HashMap 去优化这个 O(n^4...
题目 原题 1074.元素和为目标值的子矩阵数量 解题 这个题目直接使用暴力方法竟然能 AC… 暴力思路是:先计算出二维数组的前缀和并存储下来,然后使用 O(n^4) 枚举所有可能出现的子矩阵位置(枚举左上角的坐标和右下角的坐标即可),然后通过存储的前缀和去计算出每个子矩阵的 sum,判断是否符合 target。 现在需要探讨的是使用 HashMap 去优化这个 O(n^4...
题目 原题 477.汉明距离总和 题解 直接使用暴力方法计算 total hamming distance 会超时: class Solution { public int totalHammingDistance(int[] nums) { int res =0; for (int left =0; left< nums.len...
2024/11 拍摄于 798 艺术中心
红黑树平衡性原则 根结点是黑色(有的版本对根结点的颜色没有强制要求) 所有节点只能是红色或者黑色 所有的叶子节点都是黑色,这里说的叶子结点是 NULL 叶子结点 如果一个节点是红色的,那么它的两个孩子只能是黑色的(即不能同时出现两个连续的红色节点) 从任意的一个节点出发,到它的所有叶子节点路径上都包含相同数量的黑色节点 另外,看似使用全部黑色的节点也符合红黑树的规...
存储字节数组(u8)数组时,涉及到的一些字符存储格式记录 说明 #[cfg(test)] mod test { #[test] pub fn test_character_encode() { /* * char 类型占据 4 个字节,支持所有的 Unicode 字符 * u8 类型占据 1 个字节,适用于所有的 AS...
使用火焰图分析程序性能瓶颈 介绍 ClickHouse 共有三种火焰图 CPU:显示代码中函数的 cpu 耗时,函数宽度与 cpu time 成正比。主要用于分析进程中的 cpu 瓶颈 Memory:显示代码中函数中申请内存的大小,函数宽度与 memory allocation 成正比。主要用于优化进程的内存占用。 Real:显示代码中函数的 duration 耗时,函...
rust 项目编译时关于 toolchain 切换问题的记录 背景 无意执行了更新工具链的命令,导致原有项目编译报错,报错的原因可能是新版本工具链在一些语法上要求更为严格,比如名称相似的 type 会报错 error[E0432]: unresolved import `zstd_sys::ZSTD_cParameter::ZSTD_c_experimentalParam6` ...
题目 原题 416.分割等和子集 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums = [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和 [11] 。 示例 2: 输入:nums = [1,2,3,5] 输出:false 解释:数组不能分割成...
背景 PVE 是在 n100 主机安装的,已经配置了 1 个 openwrt,现在希望在内部安装一个 Windows 用来进行远程管理。正常情况下在配置了 wireguard 之后,异地就可以访问服务器集群资源,但是一旦 wireguard 不可靠,或者需要对 openwrt 局域网内部的某些 pve 集群进行运维的时候,这就需要有一个可以方便进行屏幕远程控制的中间跳板机器。 在安装 W...
为什么要扩容? 默认情况下,安装完 openwrt 之后,可用的磁盘空间少的可怜(编译的 openwrt 镜像有多大,可用空间就有多大)。 我们可以通过 PVE 直接给 openwrt 的磁盘进行扩容,并在 openwrt 系统中初始化这部分 free 的磁盘空间。 准备所需的软件 我们需要准备 cfdisk,如果没有 cfdisk 可以使用 opkg 安装。 opkg updat...