当前位置: 首页 > article >正文

代码随想录算法训练营第二天|leetcode209 长度最小的子数组 leetcode59 螺旋矩阵Ⅱ 58. 区间和

209. 长度最小的子数组题目链接209. 长度最小的子数组 - 力扣LeetCode解题思路利用快慢指针slowfast进行区间的划分。最外层循环每次开始时都将fast进入到区间之中当sumtarget时利用slow指针不断的缩小区间的长度。代码class Solution { public: int minSubArrayLen(int target, vectorint nums) { int nnums.size(); int slow0,fast0; int sum0; int minlen100100; while(fastn) { sumnums[fast]; fast; while(sumtarget){ minlenmin(minlen, fast - slow); sum-nums[slow]; slow; } } if(minlen100100){ return 0; } return minlen; } };59. 螺旋矩阵 II题目链接59. 螺旋矩阵 II - 力扣LeetCode解题思路利用leftrighttopbottom四个指针完成对插入位置的确认。右→左res[top][i] num;//i从left到right;上→下res[i][right] num;//i从top到bottom左→右res[bottom][i] num;//i从right到left下→上res[i][left] num;//i从bottom到top代码class Solution { public: vectorvectorint generateMatrix(int n) { // 定义 n*n 二维数组初始化为0 vectorvectorint res(n, vectorint(n, 0)); int num 1; int total n * n; int top 0, bottom n - 1; int left 0, right n - 1; while (num total) { for (int i left; i right num total; i) { res[top][i] num; num; } top; //表明第一行自左向右已填充完成 for (int i top; i bottom num total; i) { res[i][right] num; num; } right--; //最右一列已填充完成 for (int i right; i left num total; i--) { res[bottom][i] num; num; } bottom--; //最后一行已完成 for (int i bottom; i top num total; i--) { res[i][left] num; num; } left; //最左一列已完成 } return res; } };58.区间和题目链接58. 区间和 | 前缀和 | 区间查询 | 代码随想录解题思路模板题代码#includebits/stdc.h using namespace std; const int N100010; int s[N]; int main() { int n; cinn; vectorint nums; for(int i0;in;i) { int cur; cincur; nums.push_back(cur); } s[0]nums[0]; for(int i1;in;i) { s[i]s[i-1]nums[i]; } int a,b; while(cinacinb) { if(a0){ couts[b]endl; }else{ couts[b]-s[a-1]endl; } } }44. 开发商购买土地题目链接44. 开发商购买土地 | 前缀和 | 矩阵划分 | 代码随想录解题思路二维数组前缀和的模板最后只需依次遍历每一种切分方式即可。代码#includebits/stdc.h using namespace std; const int N110; int a[N][N]; int s[N][N]; int main() { int min_costINT_MAX; int n,m; cinnm; for(int i1;in;i) { for(int j1;jm;j) { cina[i][j]; } } for(int i1;in;i) { for(int j1;jm;j) { s[i][j]s[i-1][j]s[i][j-1]a[i][j]-s[i-1][j-1]; } } //列举所有竖着划分的情况 int cur; for(int i1;in-1;i) { curabs(s[n][m]-s[i][m]*2); min_costmin(cur,min_cost); } for(int i1;im-1;i) { curabs(s[n][m]-s[n][i]*2); min_costmin(cur,min_cost); } coutmin_costendl; }

相关文章:

代码随想录算法训练营第二天|leetcode209 长度最小的子数组 leetcode59 螺旋矩阵Ⅱ 58. 区间和

209. 长度最小的子数组 题目链接:209. 长度最小的子数组 - 力扣(LeetCode) 解题思路:利用快慢指针slow,fast进行区间的划分。最外层循环每次开始时都将fast进入到区间之中,当sum>target时,…...

贾子元稳定性定理(Kucius Meta-——贾子逆算子(Kucius Inverse Operator, KIO):TMM中的反规则算子(Inverse Rule Operator)定义、实现与应用

贾子元稳定性定理(Kucius Meta-——贾子逆算子(Kucius Inverse Operator, KIO):TMM中的反规则算子(Inverse Rule Operator)定义、实现与应用把“逆向能力”从评价指标 → 生成机制 → 推理算子。以下是可嵌…...

深入PCIe数据流:从No Snoop到TPH,图解现代I/O如何绕过CPU缓存瓶颈

PCIe数据流优化技术全景:从缓存一致性到直接缓存访问的架构演进 在数据中心和云计算基础设施中,I/O性能瓶颈已成为制约整体系统效率的关键因素。传统以内存为中心的I/O架构在面对NVMe SSD、100Gbps网络适配器等高速设备时,暴露出严重的延迟和…...

BlenderCompat系统兼容架构深度解析:Windows 7 API重定向技术实现原理

BlenderCompat系统兼容架构深度解析:Windows 7 API重定向技术实现原理 【免费下载链接】BlenderCompat Windows 7 support for Blender 3.x and newer 项目地址: https://gitcode.com/gh_mirrors/bl/BlenderCompat BlenderCompat项目通过创新的系统兼容架构设…...

破局性能与灵活性的博弈:Kuikly 动态化方案的场景实战与评估

在移动互联网进入存量竞争的时代,App 的业务迭代速度与用户体验之间往往存在着天然的“鱼和熊成鱼”的矛盾。为了实现业务的快速上线,开发者尝试了从 H5 到 React Native,再到 Flutter 的各种跨端动态化方案。然而,在追求极致性能…...

Hermes Agent 被锤抄袭,Claude 强制 KYC

前言这周AI圈有两件事挺值得聊:一是GitHub上获得8.5万Star的Hermes Agent被中国团队EvoMap实锤架构级抄袭,对方被锤后回应"你删号";二是Anthropic悄悄给Claude上了强制实名认证(KYC),国内用户直接…...

别再只用struct了!C++11/17中pair和tuple的5个实战场景与避坑指南

别再只用struct了!C11/17中pair和tuple的5个实战场景与避坑指南 在C开发中,我们常常需要将多个数据项组合成一个逻辑单元。传统做法是定义一个struct,但现代C提供了更轻量级的解决方案——std::pair和std::tuple。它们不仅仅是语法糖&#xf…...

拆解ERP批次库存管理逻辑:多仓库调拨与效期预警难题,这套saas平台功能设计如何落地

对于很多正处于扩张期的中小制造和贸易企业来说,上ERP类saas平台往往是被库存压垮的最后一根稻草之前的选择。什么是ERP类saas平台里最容易被忽视但又最要命的功能?不是花里胡哨的仪表盘,也不是复杂的财务结转,而是最基础的那套批…...

STM32点蜂鸣器

这是一个峰鸣器,GND接stm32的GND,VCC接3.3V,i/o接你设置的引脚代码如下void Bear_int(){GPIO_InitTypeDef Bear_initstruct;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);Bear_initstruct.GPIO_PinGPIO_Pin_3;Bear_initstruct.GPIO…...

UE4/UE5 Runtime FBX导入:从零到一构建高效动态模型加载方案

1. 为什么需要Runtime FBX导入? 在游戏开发中,动态加载3D模型是个常见需求。想象一下这样的场景:你的游戏允许玩家上传自定义角色模型,或者需要从服务器实时下载建筑模型。如果每次都要重启游戏才能加载新模型,用户体验…...

【智能代码生成×DevOps流水线实战指南】:20年SRE亲授5大高危集成陷阱与零故障落地路径

第一章:智能代码生成与DevOps流水线整合的演进逻辑与价值重定义 2026奇点智能技术大会(https://ml-summit.org) 传统DevOps流水线长期受限于人工编排、模板固化与上下文感知缺失,而大语言模型(LLM)驱动的智能代码生成正从“辅助补…...

可跑在STM32上的EtherCAT主机协议栈

主流分开源轻量栈与商业高性能栈两类一、开源协议栈(免费、商用友好、STM32最常用) 1. SOEM(Simple Open EtherCAT Master) 授权:BSD 2-Clause(商用闭源友好,无衍生开源要求)资源&am…...

从‘新建’到‘流转’:手把手教你用JIRA问题单驱动敏捷开发全流程

从‘新建’到‘流转’:手把手教你用JIRA问题单驱动敏捷开发全流程 在敏捷开发的世界里,工具只是载体,流程才是灵魂。JIRA作为业界领先的项目管理工具,其真正价值往往被低估——大多数团队仅仅用它来记录任务和缺陷,却…...

Seedance2.0API全面开放

目录前言一、Seedance 2.0 是什么1.1 背景1.2 核心能力二、API 接入实战2.1 注册和开通2.2 基础调用示例2.3 多模态混合调用三、实测效果与性能数据3.1 生成质量3.2 性能和定价3.3 与竞品对比四、踩坑记录坑1:异步任务模式坑2:中文镜头指令偶尔抽风坑3&a…...

InceptionTime:时间序列分类的深度学习革命——如何在85个数据集上实现SOTA性能

InceptionTime:时间序列分类的深度学习革命——如何在85个数据集上实现SOTA性能 【免费下载链接】InceptionTime InceptionTime: Finding AlexNet for Time Series Classification 项目地址: https://gitcode.com/gh_mirrors/in/InceptionTime 时间序列分类&…...

中级Python开发-FluentPython-1

一、为什么 Fluent Python 的开篇值得反复看? 很多人学 Python 的路径是: 学语法 背常用库 刷题/写脚本 但中高级 Python 工程师真正的分水岭,不在语法熟练度,而在是否理解 Python 的“协议式设计”: 你写的类是否能 len(obj)? 是否支持索引与切片 obj[i], obj[:3]? 是…...

OpenSTA:开源时序验证工具的完整指南,快速掌握芯片时序分析

OpenSTA:开源时序验证工具的完整指南,快速掌握芯片时序分析 【免费下载链接】OpenSTA OpenSTA engine 项目地址: https://gitcode.com/gh_mirrors/op/OpenSTA OpenSTA是一款强大的开源门级静态时序验证工具,能够帮助芯片设计团队使用V…...

Streams 如何在几秒内生成日志管道

作者:来自 Elastic Luca Wintergerst Streams 只需一次点击就能生成一个完整、经过测试的日志处理 pipeline。其背后的机制分为两个阶段:确定性指纹匹配( deterministic fingerprinting ),以及一个基于真实数据反复迭代…...

ML.NET 实战解析:从数据加载到模型部署的完整流程

1. 为什么选择ML.NET? 如果你是一名.NET开发者,想要在自己的应用中快速集成机器学习能力,ML.NET可能是最顺手的工具。我最早接触ML.NET是在一个电商价格预测项目中,当时团队需要在两周内完成从数据清洗到模型上线的全流程。用Pyth…...

基于图神经网络的智能合约漏洞检测

研一小白,我的课题就是基于图神经网络做合约漏洞检测,有无高手指教一下啊,不知道怎么办,所以来csdn上碰碰运气,看有没有做过类似课题的,关于数据集怎么找、怎么标记以及如何写小论文等...

C语言struct使用避坑指南:从‘declaration does not declare anything‘报错说起

C语言struct使用避坑指南:从declaration does not declare anything报错说起 在C语言开发中,结构体(struct)是最基础也最常用的复合数据类型之一。但正是这种看似简单的语法特性,却隐藏着不少容易踩坑的细节。许多开发者在代码审查或调试过程…...

SMUDebugTool终极指南:4步掌握AMD Ryzen处理器深度调试与优化

SMUDebugTool终极指南:4步掌握AMD Ryzen处理器深度调试与优化 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: htt…...

告别英文恐惧:3分钟打造你的专属中文Android Studio开发环境

告别英文恐惧:3分钟打造你的专属中文Android Studio开发环境 【免费下载链接】AndroidStudioChineseLanguagePack AndroidStudio中文插件(官方修改版本) 项目地址: https://gitcode.com/gh_mirrors/an/AndroidStudioChineseLanguagePack 还在为An…...

基于MPC-QP分布式驱动车辆轨迹跟踪与稳定性控制、模型预测控制MPC+二次规划QP转矩优化分配联合仿真

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…...

Vivado 2017下Zynq-7Z035 PS端UDP通信避坑指南:从lwIP配置到性能调优

Vivado 2017环境下Zynq-7Z035 PS端UDP通信实战:从基础配置到高速传输优化 在工业控制和嵌入式网络通信领域,Zynq系列SoC凭借其独特的ARM处理器与可编程逻辑结合架构,成为许多高性能网络应用的首选平台。本文将深入探讨在Vivado 2017这一经典版…...

Vue ref 使用学习笔记

1. 什么是 refref 是 Vue 中的一个特殊 attribute,用于给元素或子组件注册引用信息。引用信息会被注册在父组件的 $refs 对象上。核心作用DOM 元素访问:在普通 DOM 元素上使用时,引用指向 DOM 元素本身组件实例访问:在子组件上使用…...

iOS开发工程师核心技术解析与面试指南

一、iOS开发核心技术体系 1.1 语言基础与开发框架 Objective-C与Swift作为iOS生态的双核心语言,开发者需掌握其核心特性: 内存管理机制:ARC自动引用计数原理 运行时特性:Runtime消息转发机制 多线程编程:GCD与OperationQueue对比 典型内存管理场景: class DataProcess…...

AI算法专家在智能工厂建设中的核心作用

引言:数字化转型中的AI价值 在制造业数字化转型浪潮中,人工智能技术已成为构建智能工厂的核心驱动力。作为AI算法专家,需要具备将复杂业务场景转化为数学模型的能力,通过先进的数据挖掘和机器视觉技术实现生产系统的智能化升级。本文将从技术原理、实践案例和架构设计三个…...

【Linux】从零部署:在Ubuntu 18.04虚拟机中搭建Anaconda3开发环境全攻略

1. 环境准备:虚拟机与Ubuntu系统安装 第一次在Linux环境下搭建Python开发环境可能会让人望而生畏,但别担心,我会带你一步步走完整个流程。我最近刚在Ubuntu 18.04虚拟机上配置了Anaconda3环境,整个过程比想象中简单得多。我们先从…...

D2RML:终极暗黑2重制版多开管理工具,5分钟掌握高效多账户操作

D2RML:终极暗黑2重制版多开管理工具,5分钟掌握高效多账户操作 【免费下载链接】D2RML Diablo 2 Resurrected Multilauncher 项目地址: https://gitcode.com/gh_mirrors/d2/D2RML D2RML(Diablo 2 Resurrected Multilauncher&#xff09…...