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

数组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;}
}

相关文章:

  • 【蓝桥杯嵌入式】【模块】五、ADC相关配置及代码模板
  • HarmonyOS5云服务技术分享--ArkTS开发Node环境
  • python八股文汇总(持续更新版)
  • LVS原理详解及LVS负载均衡工作模式
  • 【前端开发】Uniapp日期时间选择器:实现分钟动态步长设置
  • 深入解析Spring Boot与Kafka的集成实践
  • 密码学实验
  • 【Unity】DOTween的常用函数解释
  • (一) 本地hadoop虚拟机系统设置
  • 自学嵌入式 day21 - 数据结构 双向链表
  • Keil软件中STM32(ARM)与C51兼容方法
  • STM32--串口函数
  • 优化Hadoop性能:如何修改Block块大小
  • AWS CodePipeline+ Elastic Beanstalk(AWS中国云CI/CD)
  • html+css+js趣味小游戏~记忆卡片配对(附源码)
  • c语言- 如何构建CMake项目(Linux/VSCode)
  • 去中心化算力池:基于IPFS+智能合约的跨校GPU资源共享平台设计
  • 零基础设计模式——创建型模式 - 工厂方法模式
  • 电商运营数据分析指南之流量指标
  • <uniapp><vuex><状态管理>在uniapp中,如何使用vuex实现数据共享与传递?
  • 韩国第二大轮胎制造商因火灾停产,或影响700万条轮胎销售
  • 22国外长联合声明:要求以方立即允许全面恢复对加沙援助
  • 住建部:2019年至2024年,全国累计开工改造老旧小区28万个
  • 让中小学生体验不同职业,上海中高职院校提供超5万个体验名额
  • 河北邯郸回应被曝涉生猪未检疫、注水问题:将严厉查处违法行为
  • 无人机企业从科技园区搬到乡村后,村子里变得不一样了