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

数组day2

209长度最小的子数组

class Solution {
public:int minSubArrayLen(int s, vector<int>& nums) {int result = INT32_MAX;int sum = 0; // 滑动窗口数值之和int i = 0; // 滑动窗口起始位置int subLength = 0; // 滑动窗口的长度for (int j = 0; j < nums.size(); j++) {sum += nums[j];// 注意这里使用while,每次更新 i(起始位置),并不断比较子序列是否符合条件while (sum >= s) {subLength = (j - i + 1); // 取子序列的长度result = result < subLength ? result : subLength;sum -= nums[i++]; // 这里体现出滑动窗口的精髓之处,不断变更i(子序列的起始位置)}}// 如果result没有被赋值的话,就返回0,说明没有符合条件的子序列return result == INT32_MAX ? 0 : result;}
};

59 螺旋数组

#include <vector>
class Solution{
public:vector<vector<int>> generateMatrix(int n) { //返回值二维矩阵vector<vector<int>>//首先定义一个二位数组vector<vector<int>> res(n,vector<int>(n,0));int startx = 0,starty = 0;//起始位置为0int mid = n/2;//这是中间的位置(mid,mid)int loop = n/2;//这是需要循环的次数int count = 1;//用于计数int offset = 1;//控制边缘的长度,每次循环,右边边界少一位int i,j;while(loop--){i = startx;j = starty;//开始循环for (j;j<n-offset;j++){ //offset控制右边的起始位置res[i][j] = count++;}for (i;i<n-offset;i++){res[i][j] = count++;}//此时j还在右侧,直接j--到初始位置就行了for (j;j>startx;j--){res[i][j] = count++;}for (i;i>starty;i--){res[i][j] = count++;}//循环完了之后,所有的起始位置都需要+1startx += 1;starty += 1;offset += 1;}if (n%2==1){res[mid][mid] = count;}return res;
}};

58 区间和

#include <iostream>
#include <vector>using namespace std;
int main(){int n,a,b;cin >> n;vector<int> vec(n);vector<int> p(n);int presum = 0;for(int i=0;i<n;i++){cin >> vec[i];presum += vec[i];p[i] = presum;}while (cin >> a >> b){int sum;if(a==0) sum = p[b];else sum = p[b]-p[a-1];cout << sum << endl;}
}
http://www.xdnf.cn/news/7751.html

相关文章:

  • 在hadoop中实现序列化与反序列化
  • YOLOv12和MAF-YOLO的核心技术细节
  • 软考软件评测师——软件工程之开发模型与方法
  • Java中的工具类Collections和Arrays
  • odoo-052 odoo启动提示:OSError: [Errno 98] Address already in use,端口占用
  • 一些C++入门基础
  • 记忆化搜索全面解析
  • 基于 STM32 的蔬菜智能育苗系统硬件与软件设计
  • 第41天-Python+Qt四屏播放器开发指南
  • Java实践:调用jar包里的方法
  • 以太网口16路数字量DI输入采集模块 Modbus TCP协议
  • Unreal5 从入门到精通之如何实现 离线语音识别
  • Map更简洁的编码构建
  • 【jzxxoj编程:4420: 寻找自我3】2022-1-30
  • 【免杀】C2免杀技术(七)远程线程注入
  • 使用SQLite Expert个人版VACUUM功能修复数据库
  • 【Linux】第二十一章 管理存储堆栈
  • 如何处理 collation 导致的索引失效 | OceanBase SQL调优实践
  • Redis中的事务和原子性
  • 汽车充电过程中--各个电压的关系(DeepSeek)
  • Dockerfile 实战:编写高效镜像的最佳实践与常见误区
  • AR 开启昆虫学习新视界,解锁奇妙微观宇宙
  • 重构研发效能:项目管理引领软件工厂迈向智能化
  • 汽车生产中的测试台连接 – EtherCAT 转CANopen高效的网关通信
  • PyTorch中单卡训练、DataParallel(DP)和DistributedDataParallel(DDP)
  • Python数据可视化再探——Matplotlib模块 之二
  • 香港科技大学(广州)智能制造理学硕士招生宣讲会——深圳大学专场
  • Android 万能AI证件照 v1.3.2
  • Python打卡训练营day27-函数-装饰器
  • 数据要素如何重构人力资本升级