机试准备第二天

第一题是长度最小的子数组,初次接触滑动窗口,先调节窗口末端即符合要求的子数组的最后一位,再依次缩小窗口初始位置从而找到最小满足题意的子数组。

class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {int result = INT32_MAX;int sum = 0;int i = 0;int lenght = 0;for (int j = 0; j < nums.size(); j++) {sum += nums[j];while (sum >= target) {lenght = (j - i + 1);sum -= nums[i];i++;if (result > lenght) {result = lenght;}}}if (result == INT32_MAX)return 0;return result;}
};

第二题是螺旋矩阵II。掌握每次处理的不变原则,如左闭右开或左开右闭,在每次处理是对个对角元素应采取相同的处理方式。

class Solution {
public:vector<vector<int>> generateMatrix(int n) {vector<vector<int>> res(n, vector<int>(n, 0));int startx = 0, starty = 0;int offset = 1;int count = 1;int loop = n / 2;while (loop--) {int i, j;for (j = starty; j < (n - offset); j++)res[startx][j] = count++;for (i = startx; i < (n - offset); i++)res[i][j] = count++;for (; j > starty; j--)res[i][j] = count++;for (; i > startx; i--)res[i][j] = count++;startx++;starty++;offset++;}if (n % 2 == 1) {res[n / 2][n / 2] = n * n;}return res;}
};

第三题是螺旋矩阵,思路与上题相同,跳出循环时需要单独处理三种情况:1.边长为奇数的正方形矩阵;2.列数为奇数的最中间一列;3.行数为奇数的最中间一行,以上情况用if else处理,其余便利过程与上一题相同。

class Solution {
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {int rows = matrix.size();int cloumns = matrix[0].size();int loops = min(rows, cloumns) / 2;int startx = 0;int starty = 0;int offset = 1;int num = 0;vector<int> res(rows * cloumns);while (loops--) {int i, j;for (j = starty; j < (cloumns - offset); j++)res[num++] = matrix[startx][j];for (i = startx; i < (rows - offset); i++)res[num++] = matrix[i][j];for (; j > starty; j--)res[num++] = matrix[i][j];for (; i > startx; i--)res[num++] = matrix[i][j];startx++;starty++;offset++;}if(cloumns==rows&&rows%2==1)res[num]=matrix[rows/2][cloumns/2];else if(rows%2==1&&startx==rows/2){for(int j = starty;j<=cloumns-offset;j++)res[num++]=matrix[startx][j];}else if(cloumns%2==1&&starty==cloumns/2){for(int i = startx;i<=rows-offset;i++)res[num++]=matrix[i][starty];}return res;}
};

第四题是区间和。从该题学到前缀和,用新数组p表示原数组的第一个加到对应位置的总和,主要注意一下程序的输入输出。

#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++){scanf("%d",&vec[i]);presum += vec[i];p[i] = presum;}while (scanf("%d%d", &a, &b)==2) {int sum;if (a == 0) sum = p[b];else sum = p[b] - p[a - 1];printf("%d\n", sum);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/67665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

提问:玩游戏输入法总弹出来咋回事哎

玩游戏时输入法总弹出来的问题&#xff0c;通常与电脑的输入法设置、操作系统配置以及游戏程序的兼容性有关。以下是一些常见的解决方法&#xff1a; 一、修改输入法快捷键 禁用不必要的输入法&#xff1a; 在系统的语言设置中&#xff0c;暂时禁用非活动的输入法&#xff0c;…

团体程序设计天梯赛-练习集——L1-012 计算指数

前言 这道题简单至极&#xff0c;几行代码就全都解决了。这次多来几个写法&#xff1b; L1-012 计算指数 真的没骗你&#xff0c;这道才是简单题 —— 对任意给定的不超过 10 的正整数 n&#xff0c;要求你输出 2 的n次方 。不难吧&#xff1f; 输入格式&#xff1a; 输入…

通过内核模块按fd强制tcp的quickack方法

一、背景 tcp的quickack功能是为了让ack迅速回发&#xff0c;快速响应&#xff0c;减少网络通讯时延&#xff0c;属于一个优化项&#xff0c;但是tcp的quickack是有配额限制的&#xff0c;配置是16个quick&#xff0c;也就是短时间内quickack了16次以后&#xff0c;这个配额为…

nginx实现TCP反向代理

当前实验环境&#xff1a; nginx已安装版本1.11.13 需要动态扩展安装模块nginx_tcp_proxy_module&#xff0c;实现tcp反向代理 实验步骤&#xff1a; 1、nginx当前版本1.11.13&#xff08;nginx已安装&#xff09; # /alidata/nginx/sbin/nginx -v nginx version: nginx/1.1…

csp22前2题

一幅长宽分别为 nn 个像素和 mm 个像素的灰度图像可以表示为一个 nmnm 大小的矩阵 AA。 其中每个元素 AijAij&#xff08;0≤i<n0≤i<n、0≤j<m0≤j<m&#xff09;是一个 [0,L)[0,L) 范围内的整数&#xff0c;表示对应位置像素的灰度值。 具体来说&#xff0c;一…

《汽车与驾驶维修》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答&#xff1a; 问&#xff1a;《汽车与驾驶维修》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的第二批认定学术期刊。 问&#xff1a;《汽车与驾驶维修》级别&#xff1f; 答&#xff1a;省级。主管单位&#xff1a;中国机械工业联合会…

web前端1--基础

&#xff08;时隔数月我又来写笔记啦~&#xff09; 1、下载vscode 1、官网下载&#xff1a;Visual Studio Code - Code Editing. Redefined 2、步骤&#xff1a; 1、点击同意 一直下一步 勾一个创建桌面快捷方式 在一直下一步 2、在桌面新建文件夹 拖到vscode图标上 打开v…

MySQL面试题2025 每日20道【其一】

1、MySQL 中的数据排序是怎么实现的&#xff1f; 简单 在 MySQL 中&#xff0c;数据排序是通过 ORDER BY 子句来实现的。当你执行一个查询语句时&#xff0c;可以在 SELECT 语句的末尾添加 ORDER BY 来指定按照哪个列进行排序&#xff0c;以及升序&#xff08;ASC&#xff09;…

vue 学习笔记 - 创建第一个项目 idea

1、安装Vue CLI 查看npm版本号 &#xff08;可跳过&#xff09; % npm -v 11.0.0安装Vue CLI % npm install -g vue/cli2、创建项目 进入工程文件目录 % cd /Users/ruizhifeng/work/aina-client查看vue 版本号 &#xff08;可跳过&#xff09; % vue --version vue/cli 5…

网络安全---CMS指纹信息实战

CMS简介 CMS&#xff08;Content Management System&#xff09;指的是内容管理系统&#xff0c;如WordPress、Joomla等。CMS系统非常常见&#xff0c;几乎所有大型网站都使用CMS来管理其网站的内容。由于常见CMS的漏洞较多&#xff0c;因此黑客将不断尝试利用这些漏洞攻击CMS…

基于SSM的自助购药小程序设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

anaconda安装和环境配置

文章目录 一、Anaconda下载1.从官网直接下载&#xff1a;2.从镜像站中下载&#xff1a; 二、Anaconda安装三、检测是否有Anaconda配置anaconda环境 四、 Anaconda创建多个python环境&#xff08;方便管理项目环境&#xff09;1.查看conda有哪些环境2.创建python3.6的环境3.激活…

DDD - 如何设计支持快速交付的DDD技术中台

文章目录 Pre概述打造快速交付团队烟囱式的开发团队(BAD)大前端技术中台(GOOD) 技术中台的特征简单易用的技术中台建设总结 Pre DDD - 软件退化原因及案例分析 DDD - 如何运用 DDD 进行软件设计 DDD - 如何运用 DDD 进行数据库设计 DDD - 服务、实体与值对象的两种设计思路…

Agent AI: 强化学习,模仿学习,大型语言模型和VLMs在智能体中的应用

Agent AI: 强化学习,模仿学习,大型语言模型和VLMs在智能体中的应用 “Agent AI: Surveying the Horizons of Multimodal Interaction”主要探讨了 Agent AI 技术,包括其在多模态交互中的应用、面临的问题及解决方案。Agent AI 是一种能在不同环境中感知和行动的智能体系统,…

二、模型训练与优化(5):验证优化后的模型

目录 一、在 PC 上使用 TFLite Python Interpreter 进行推理 1. 安装 TFLite Python Interpreter 2. 编写推理验证脚本 脚本说明&#xff1a; 3. 性能测试&#xff08;可选&#xff09; 二、在嵌入式平台&#xff08;STM32Cube.AI&#xff09;上验证 在嵌入式平台上对比…

【Golang 面试题】每日 3 题(三十六)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/UWz06 &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏…

【C++】结构体(下)

4、结构体指针 作用&#xff1a;通过指针访问结构体中的成员 利用操作符“----->”可以通过结构体指针访问结构体成员。 示例&#xff1a; #include<iostream> #include<string> using namespace std; struct student {//姓名string name;//年龄int age;//分数…

LLMs之Dataset:中文互联网基础语料2.0的简介、下载和使用方法、案例应用之详细攻略

LLMs之Dataset&#xff1a;中文互联网基础语料2.0的简介、下载和使用方法、案例应用之详细攻略 目录 中文互联网基础语料2.0的简介 1、特点 中文互联网基础语料2.0的下载和使用方法 中文互联网基础语料2.0的案例应用 中文互联网基础语料2.0的简介 2025年1月发布&#xff0…

Android Studio:Linux环境下安装与配置

更多内容&#xff1a;XiaoJ的知识星球 Android Studio&#xff1a;Linux环境下安装与配置 1.安装JDK2.安装Android Studio2.1 获取安装包2.2 安装&#xff08;1&#xff09;配置环境变量&#xff1a;&#xff08;2&#xff09;运行安装&#xff1a;&#xff08;3&#xff09;配…

道格拉斯-普克算法(DP)轮廓点精简(Python)

1、介绍 道格拉斯-普克算法由David H. Douglas和Thomas K. Peucker于1973年提出&#xff0c;主要用于简化曲线或折线。而实际中&#xff0c;激光点云的边缘点非常粗糙&#xff0c;如果直接将点进行连接&#xff0c;锯齿问题严重。经过DP算法处理后&#xff0c;数据显示会比较光…