【每日刷题】Day135
【每日刷题】Day135

🥕个人主页:开敲🍉
🔥所属专栏:每日刷题🍍
🌼文章目录🌼
1. LCR 011. 连续数组 - 力扣(LeetCode)
2. 【模板】二维前缀和_牛客题霸_牛客网 (nowcoder.com)
3. 1314. 矩阵区域和 - 力扣(LeetCode)

1. LCR 011. 连续数组 - 力扣(LeetCode)
//思路:前缀和+哈希表
//本题思路与 Day132 中的"和为K的子数组" 完全相似
//区别在于哈希中存储的不再是前缀和,而是每个前缀和对应的下标
//同时,还有个最为核心的思想,我们将数组中所有的 0 看作 -1,这样要找数量相同 0 和 1 的最长连续子数组问题就可以转换为最长和为 0 的连续子数组
class Solution {
public:
int findMaxLength(vector<int>& nums)
{
int sum = 0,ans = 0;
vector<int> dp;
unordered_map<int,int> hash;
for(int i = 0;i<nums.size();i++)
{
if(!nums[i]) sum--;//将数组中的 0 看作 -1
else sum++;
dp.push_back(sum);//dp数组存储前缀和
if(!dp[i]) ans = ans>i+1?ans:i+1;//找前缀和为 0 的连续子数组
else if(hash.find(sum)!=hash.end()) ans = ans>i-hash[sum]?ans:i-hash[sum];
else hash[sum] = i;//前缀和不为 0 则判断一下在前面能否找到一个前缀和使它们之前出现和为 0 的连续子数组
}
return ans;
}
};
2. 【模板】二维前缀和_牛客题霸_牛客网 (nowcoder.com)
//思路:二位前缀和模板

#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n,m,q;
cin>>n>>m>>q;
vector<vector<int>> arr(n+1,vector<int>(m+1,0));
vector<vector<long long>> sum(n+1,vector<long long>(m+1,0));
for(int i = 1;i<n+1;i++)
{
for(int j = 1;j<m+1;j++)
{
cin>>arr[i][j];
sum[i][j] = sum[i][j-1]+sum[i-1][j]+arr[i][j]-sum[i-1][j-1];//创建矩阵,套用二位前缀和公式
}
}
while(q--)
{
int x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;
cout<<sum[x2][y2]-sum[x2][y1-1]-sum[x1-1][y2]+sum[x1-1][y1-1]<<endl;//套用子矩阵和公式
}
return 0;
}
3. 1314. 矩阵区域和 - 力扣(LeetCode)
//思路:二位前缀和
//本题的思路就是 "【模板】二位前缀和" 的思路。
//题目的意思就是:


//知道了题目意思以后,思路就很容易想了。
//想要知道这个新矩阵的和,我们只需要类比 "【模板】二位前缀和" 中的思路即可,即:确定一个起点以及一个终点,起点和终点所形成的子矩阵直接套用公式即可求出和
class Solution {
public:
vector<vector<int>> matrixBlockSum(vector<vector<int>>& mat, int k)
{
int n = mat.size(),m = mat[0].size();
vector<vector<int>> ans(n,vector<int>(m,0));
vector<vector<int>> sum(n+1,vector<int>(m+1,0));
for(int i = 1;i<n+1;i++)
for(int j = 1;j<m+1;j++)
sum[i][j] = sum[i][j-1]+sum[i-1][j]+mat[i-1][j-1]-sum[i-1][j-1];//套用前缀和公式
for(int i = 0;i<n;i++)
{
for(int j = 0;j<m;j++)
{
int x1 = max(0,i-k)+1,y1 = max(0,j-k)+1,x2 = min(n-1,i+k)+1,y2 = min(m-1,j+k)+1;//因为下标从0开始,因此 x1、y1、x2、y2都要+1与 sum 的起始下标对应
ans[i][j] = sum[x2][y2]-sum[x2][y1-1]-sum[x1-1][y2]+sum[x1-1][y1-1];//确定起点与终点,这里需要仔细思考起点和终点与K的关系。
}
}
return ans;
}
};
相关文章:
【每日刷题】Day135
【每日刷题】Day135 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. LCR 011. 连续数组 - 力扣(LeetCode) 2. 【模板】二维前缀和_牛客题霸_牛客…...
Linux运维01:VMware创建虚拟机
视频链接:05.新建VM虚拟机_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1nW411L7xm/?p14&spm_id_from333.880.my_history.page.click&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 1.点击“创建虚拟机” 2.选择“自定义(高级࿰…...
服务器平均响应时间和数据包大小关系大吗?
服务器的平均响应时间与数据包大小有一定的关系,但这只是影响响应时间的众多因素之一。具体来说,数据包大小对服务器响应时间的影响可以从以下几个方面来理解: 1. 数据传输时间 影响: 较大的数据包需要更多的时间在网络上传输,因此…...
Vue入门-指令学习-v-show和v-if
v-show: 作用:控制元素的显示隐藏 语法:v-show"表达式" 表达式值true显示,false隐藏 v-if 作用:控制元素的显示隐藏(条件渲染) 语法: vif"表达式" 表达式tr…...
nacos多数据源插件介绍以及使用
概述 在微服务架构中,服务配置的集中管理和动态调整是至关重要的。Nacos 提供了配置管理和服务发现的功能,其中配置管理支持动态数据源的切换,增强了其在复杂环境中的适用性。默认情况下,Nacos 支持 MySQL 和Derby,但…...
国庆档不太热,影视股“凉”了?
今年国庆档票房止步21亿元,属实有点差强人意。 根据国家电影局统计,2024年国庆档(2024年10月1日至7日)全国电影票房为21.04亿元,观影人次为5209万,总票房成绩、观影总人次同比均有所下滑。 作为传统观影高…...
QtDesign预览的效果与程序运行的结果不一致的解决方法
存在的问题 使用Qt designer软件设计出来的界面,与转换成python程序运行出来的结果不一致,具体看下图 Qt designer预览结果 程序运行出来的结果 原因分析 我自己的电脑是2560*1600分辨率的屏幕,采用的是200%的缩放比例,出现这种…...
模运算和快速幂
文章目录 模运算快速幂 模运算 模运算是大数运算中的常用操作。如果一个数太大,无法直接输出,或者不需要直接输出,则可以对它取模,缩小数值再输出。取模可以防止溢出,这是常见的操作。 取模运算一般要求a和m的符号一…...
【机器学习】——神经网络与深度学习:从基础到应用
文章目录 神经网络基础什么是神经网络?神经网络的基本结构激活函数 深度学习概述什么是深度学习?常见的深度学习算法 深度学习的工作流程深度学习的实际应用结论 引言 近年来,神经网络和深度学习逐渐成为人工智能的核心驱动力。这类模型模仿人…...
Unity各个操作功能+基本游戏物体创建与编辑+Unity场景概念及文件导入导出
各个操作功能 部分功能 几种操作游戏物体的方式: Center:有游戏物体父子关系的时候,中心点位置 Global/Local:世界坐标系方向/自身坐标系方向 :调试/暂停/下一帧 快捷键 1.Alt鼠标左键:可以实现巡游角度查看场景 2.鼠标滚轮…...
QT入门教程攻略 QT入门游戏设计:贪吃蛇实现 QT全攻略心得总结
Qt游戏设计:贪吃蛇 游戏简介 贪吃蛇是一款经典的休闲益智类游戏,玩家通过控制蛇的移动来吃掉地图上的食物,使蛇的身体变长。随着游戏的进行,蛇的移动速度会逐渐加快,难度也随之增加。当蛇撞到墙壁或自己的身体时&…...
Linux No space left on device分析和解决
报错解释: "No space left on device" 错误表示你的Linux设备(通常是磁盘分区)上没有剩余空间了。这可能是因为磁盘已满,或者inode已满。磁盘空间是指磁盘上的实际空间,而inode是用来存储文件元数据的数据结…...
Qt实现Halcon窗口显示当前图片坐标
一、前言 Halcon加载图片的窗口,不仅能放大和缩小图片,还可以按住Ctrl键显示鼠标下的灰度值,这种方式很方便我们分析缺陷的灰度和对比度。 二、实现方式 ① 创建显示坐标和灰度的widget窗口 下图的是widget部件,使用了4个label控…...
构建宠物咖啡馆:SpringBoot框架的实现策略
1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理基于Spring Boot的宠物咖啡馆平台的设计与…...
Qt开发环境的搭建
个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 Qt开发环境的搭建 收录于专栏【Qt开发】 本专栏旨在分享学习Qt的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1. Qt开发工具概述 Qt…...
docker-compose查看容器日志和实时查看日志
要查看 docker-compose up 过程中容器启动的错误日志,可以使用以下方法: ### 1. **使用 docker-compose logs 命令** 1. 在终端中进入包含 docker-compose.yml 文件的目录。 2. 运行以下命令来查看所有容器的日志: bash docker-compose…...
MVC、MVP和MVVM之间的区别
MVC(Model-View-Controller)隔开业务和UI(一对一) 角色划分: Model:负责处理数据和业务逻辑,通常包括数据的存储、检索和更新等操作。 View:负责展示用户界面,接收用户输…...
uni-app 打包成app时 限制web-view大小
今天对接一个uni-app的app 内置对方h5 web-view的形式 需要对方在web-view顶部加点东西 对方打的app的web-view始终是全屏的状态,对方表示做不到我要的效果 emmmmmm。。。。。。 于是乎 自己搭了个demo 本地h5跑起来审查了下代码,发现web-view是给绝对定位了 于是乎 我想外层…...
智能指针(2)
目录 答题格式: 几个易错点 可能问法四: 问题分析: 问题解答: 上回文说到,weak_ptr的功能和区别,并且进行了分析,我们接着进行解答。 答题格式: int main() { std::we…...
[含文档+PPT+源码等]精品基于Nodejs实现的家教服务小程序的设计与实现
基于Node.js实现的家教服务小程序的设计与实现背景,主要源于以下几个方面: 一、家教市场的现状与需求 随着教育竞争的日益激烈,家庭对子女教育质量的重视程度不断提升,家教服务已成为许多家庭不可或缺的一部分。然而,…...
Proteus仿真实战:基于STM32的智能环境感知与联动控制系统(附源码)
1. 项目背景与核心功能 想象一下这样的场景:当你走进书房时,灯光自动亮起;当室内温度过高时,空调自动开启;当光线不足时,窗帘缓缓拉开。这些看似科幻的场景,其实用STM32单片机和Proteus仿真就能…...
Z-Image-Turbo问题解决:手把手教你配置Gradio WebUI并映射本地端口
Z-Image-Turbo问题解决:手把手教你配置Gradio WebUI并映射本地端口 1. 为什么选择Z-Image-Turbo 如果你正在寻找一款既快速又高质量的AI图像生成工具,Z-Image-Turbo绝对值得考虑。这个由阿里通义实验室开源的高效文生图模型,在速度和质量的…...
矿井排水系统直接关系到煤矿安全生产,今天咱们掰开揉碎了聊聊西门子S7-200 PLC控制三台水泵的实战经验。老规矩,先上干货再说原理
基于西门子PLC的煤矿排水系统控制,内容包括 [1]S7-200 PLC程序[2]MCGS6.2组态画面[3]电气图纸精品文档 共有3台水泵进行矿井排水,分别为1号水泵,2号水泵,3号水泵 其中1号,2号水泵是工作水泵,3号水泵是备用水…...
Qwen-Image-2512图片生成服务:支持多种宽高比,满足不同场景需求
Qwen-Image-2512图片生成服务:支持多种宽高比,满足不同场景需求 1. 引言:为什么宽高比如此重要? 在数字内容创作领域,图片的宽高比往往决定了它的最终用途。一张构图精美的图片,如果比例与展示平台不匹配…...
技术Lead:不亲手解决问题,你的位置还稳吗?
做到技术Lead这个位置,很多人开始纠结一件事——到底该不该自己动手?技术Lead的尴尬,其实很具体比如前端设计阶段,团队在讨论一个时序收敛问题,工程师说某条路径的slack是-0.3ns,建议加pipeline。这时候Lea…...
别再用asyncio硬扛高并发了!无GIL环境下Python原生多线程性能翻倍的6个核心调优参数
第一章:Python无锁GIL环境下的并发模型演进全景Python长期以来受全局解释器锁(GIL)制约,导致多线程无法真正并行执行CPU密集型任务。近年来,随着CPython 3.12正式引入实验性“无GIL构建选项”(--without-py…...
fre:ac开源音频转换工具:让无损音乐在全设备自由流动的专业级解决方案
fre:ac开源音频转换工具:让无损音乐在全设备自由流动的专业级解决方案 【免费下载链接】freac The fre:ac audio converter project 项目地址: https://gitcode.com/gh_mirrors/fr/freac 你是否遇到过这些音乐管理难题:珍藏多年的CD专辑不知如何数…...
Windows下PyTorch CPU版安装全攻略:从下载到验证(含conda常用命令)
Windows平台PyTorch CPU版高效安装指南:从零基础到环境验证 在深度学习领域,PyTorch已成为最受欢迎的框架之一。对于Windows用户而言,特别是刚接触机器学习的新手,正确安装PyTorch是迈入这一领域的第一步。本文将详细介绍如何在Wi…...
别再只盯着EMD了!滚动轴承故障诊断,试试VMD和MCKD这些新方法(附Python代码对比)
滚动轴承故障诊断:VMD与MCKD的实战对比与Python实现 滚动轴承作为旋转机械的核心部件,其健康状态直接影响设备运行安全。传统经验模态分解(EMD)虽广泛应用,但在处理强噪声和非平稳信号时存在明显局限。本文将深入解析变…...
从LaMa到BrushNet:盘点图像修复(Inpainting)领域的关键模型与实战数据集
1. 图像修复技术的前世今生 第一次接触图像修复技术是在2015年,当时我正参与一个老照片修复项目。那些泛黄的老照片上布满了裂痕和污渍,传统Photoshop修复需要耗费数小时。直到发现深度学习可以自动完成这项任务,我才意识到这项技术将彻底改变…...
