第 383 场 LeetCode 周赛题解

A 边界上的蚂蚁

在这里插入图片描述
在这里插入图片描述

模拟

class Solution {
public:int returnToBoundaryCount(vector<int> &nums) {int s = 0;int res = 0;for (auto x: nums) {s += x;if (s == 0)res++;}return res;}
};

B 将单词恢复初始状态所需的最短时间 I

在这里插入图片描述
在这里插入图片描述

枚举:若经过 i i i 秒后 w o r d word word 可以恢复到其初始状态,则说明 w o r d word word 长为 n − i × k n-i\times k ni×k的后缀与长为 n − i × k n-i\times k ni×k的前缀相等, n n n w o r d word word 的长度,升序枚举 i i i 直到满足条件

class Solution {
public:int minimumTimeToInitialState(string word, int k) {int n = word.size();int i = 1;for (; i * k < n; i++) {int tag = 1;for (int j = i * k; j < n; j++)if (word[j] != word[j - i * k])tag = 0;if (tag)return i;}return i;}
};

C 找出网格的区域平均强度

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

模拟:枚举网格中的 3 × 3 3\times3 3×3 的子网格,判断是否是区域,同时记录各位置所属于的区域数和所属于的区域的平均强度之和,最后求网格的区域平均强度

class Solution {
public:vector<vector<int>> resultGrid(vector<vector<int>> &image, int threshold) {int m = image.size(), n = image[0].size();vector<vector<int>> tot(m, vector<int>(n));vector<vector<int>> cnt(m, vector<int>(n));for (int i = 0; i + 2 < m; i++)for (int j = 0; j + 2 < n; j++) {int tag = 1;//判断是否是区域for (int x = i; x < i + 3; x++)for (int y = j + 1; y < j + 3; y++)if (abs(image[x][y] - image[x][y - 1]) > threshold)tag = 0;for (int y = j; y < j + 3; y++)for (int x = i + 1; x < i + 3; x++)if (abs(image[x][y] - image[x - 1][y]) > threshold)tag = 0;if (tag) {int s = 0;for (int x = i; x < i + 3; x++)for (int y = j; y < j + 3; y++)s += image[x][y];s /= 9;//当前区域的平均强度for (int x = i; x < i + 3; x++)for (int y = j; y < j + 3; y++) {cnt[x][y]++;//所属区域数目+1tot[x][y] += s;//所属区域的平均强度之和+s}}}for (int i = 0; i < m; i++)for (int j = 0; j < n; j++)if (!cnt[i][j])tot[i][j] = image[i][j];elsetot[i][j] /= cnt[i][j];return tot;}
};

D 将单词恢复初始状态所需的最短时间 II

在这里插入图片描述
在这里插入图片描述

字符串哈希 + 枚举:若经过 i i i 秒后 w o r d word word 可以恢复到其初始状态,则说明 w o r d word word 长为 n − i × k n-i\times k ni×k的后缀与长为 n − i × k n-i\times k ni×k的前缀相等, n n n w o r d word word 的长度,升序枚举 i i i 直到满足条件

class Solution {
public:int minimumTimeToInitialState(string word, int k) {int n = word.size();int i = 1;srand(time(0));shash h(word, 2333 + rand() % 100, 1e9 + rand() % 100);for (; i * k < n; i++) {     if (h(i * k, n - 1) == h(0, n - 1 - i * k))//s[i*k,n-1]和s[0,n-1-i*k]是否相等return i;}return i;}class shash {//字符串哈希模板public:using ll = long long;vector<ll> pres;vector<ll> epow;ll e, p;shash(string &s, ll e, ll p) {int n = s.size();this->e = e;this->p = p;pres = vector<ll>(n + 1);epow = vector<ll>(n + 1);epow[0] = 1;for (int i = 0; i < n; i++) {pres[i + 1] = (pres[i] * e + s[i]) % p;epow[i + 1] = (epow[i] * e) % p;}}ll operator()(int l, int r) {ll res = (pres[r + 1] - pres[l] * epow[r - l + 1] % p) % p;return (res + p) % p;}};
};

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

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

相关文章

CTF-show WEB入门--web19

今晚web19也就顺便解决了 老样子我们先打开题目看看题目提示&#xff1a; 可以看到题目提示为&#xff1a; 密钥什么的&#xff0c;就不要放在前端了 然后我们打开题目链接&#xff1a; 然后我们查看网页源代码&#xff1a; 可以发现有用的内容全在网页源代码里。 前端验证…

spring boot(2.4.x之前版本)和spring cloud项目中配置文件的作用

为了防止理解问题&#xff0c;pom.xml 版本依赖如下 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.12.RELEASE</version><relativePath/> <!--…

(十三)springboot实战——springboot前后端分离方式项目集成spring securtity安全框架

前言 Spring Security 是一款强大且高度可定制的认证和访问控制框架&#xff0c;它是为了保护基于Spring的应用程序提供安全性支持。Spring Security提供了全面的安全服务&#xff0c;主要针对企业级应用程序的需求。其核心组件主要包含&#xff1a;Authentication&#xff08…

Scrum敏捷培训机构推荐

敏捷培训机构中&#xff0c;Scrum中文网&#xff08;www.scrum.cn&#xff09;是一个值得考虑的选择。 Scrum中文网(Scrum.CN)是全球第一个Scrum中文网站&#xff0c;是中国最早的Scrum和敏捷的布道者、教育及推广机构&#xff0c;也是国际Scrum联盟&#xff08;Scrum Allianc…

FreeRtos任务的挂起和恢复实验示例

首先我们在main函数完成硬件的初始化&#xff0c;其次在硬件初始化完成之后创建任务start_task()然后开启FreeRtos的任务调度 (1)、start_task 任务&#xff0c;用于创建其他 3 个任务。 (2)、在 key_tssk 任务里面&#xff0c;KEY_UP 被按下&#xff0c;调用函数 vTaskSuspen…

获取 Github XX项目软件最新版本方法(通过命令行)

场景&#xff1a; 如果我们项目中需要实现某个Github公共软件的最新版本更新 那么获取软件的最新的发布版本就是一个比较重要的工作了 对此&#xff0c;Github提供对外api不需要自己手动填写脚本了 解决方案&#xff1a; 替换黄色字体的项目地址&#xff0c;然后在cmd中执行…

CentOS 7安装Nodejs

说明&#xff1a;本文介绍如何在云服务器上CentOS 7操作系统上安装Nodejs。以及安装过程中遇到的问题。 下载压缩包&解压 首先&#xff0c;先去官网下载Linux版本的Node。 将下载下来的压缩包&#xff0c;上传到云服务器上&#xff0c;解压。配置环境变量。 &#xff08…

人工智能之参数估计

参数估计 参数估计:假设总体X~N(μ, σ 2 \sigma^2 σ2),μ和 σ 2 \sigma^2 σ2是未知参数, X 1 , X 2 , ⋅ ⋅ ⋅ , X n X_1,X_2,\cdot\cdot\cdot,X_n X1​,X2​,⋅⋅⋅,Xn​是来自X的样本,样本值是 x 1 , x 2 , ⋅ ⋅ ⋅ , x n x_1,x_2,\cdot\cdot\cdot,x_n x1​,x…

【错误文档】This与Here的区别、主系表结构、如何合并两个句子、祈使句结构

目录 This与Here的区别 主系表结构 如何合并两个句子 祈使句结构 原句中文1&#xff1a; “就是这件。” 我的翻译&#xff1a; This is it. 正确翻译&#xff1a; 书上原句&#xff1a; Here it is! 正确解释&#xff1a; 两个翻译都对&#xff0c;只是强调点不同&…

Spark scala如何本地运行

Spark scala如何本地运行 Spark任务调试太费时间啦Spark Scala本地运行 Spark任务调试太费时间啦 Apache Spark是一个开源的大数据处理框架&#xff0c;它提供了一个接口用于编程大规模分布式计算&#xff0c;且提供了很多高级工具&#xff0c;包括支持SQL查询、流数据处理、机…

Leetcode 45. 跳跃游戏 II

本题与55. 跳跃游戏十分类似&#xff0c;区别在于本题是要求出最小的跳跃次数。 在55. 跳跃游戏的框架上&#xff0c;我们需要增加一些东西&#xff1a; 既然要计算最小跳跃次数&#xff0c;就需要用一个变量计数跳跃的次数&#xff1b;需要一次前瞻&#xff0c;来计算之后那次…

使用PaddleNLP识别垃圾邮件:用RoBERTa做中文邮件标题分类,模型在测试集上准确率达到98.3%以上(附公开数据集)

使用PaddleNLP识别垃圾邮件:用RoBERTa做中文邮件标题分类,模型在测试集上准确率达到98.3%以上(附公开数据集)。 要使用PaddleNLP和RoBERTa来识别垃圾邮件并做中文邮件标题分类,可以按照以下步骤进行操作: 安装PaddlePaddle和PaddleNLP:首先,确保在你的环境中已经安装了…

【Lazy ORM】查询部分字段减少IO

Gitee 版本信息 1.2.2-JDK17-SNAPSHOT Testpublic void selectNameIdAge(){LazyUserTest userNameIdAge lazyLambdaStream.selectOne(LazyWrappers.<LazyUserTest>lambdaWrapper().eq(LazyUserTest::getId, 1).eq(LazyUserTest::getIsDeleted, false).onlyUseAs().as(…

uniapp从入门到进阶

一、了解uniapp 跨平台开发&#xff1a;Uniapp可以同时开发多个平台的应用&#xff0c;只需编写一套代码即可。开发者可以通过编写Vue组件来构建界面&#xff0c;通过编写JavaScript代码来实现业务逻辑。 页面和组件&#xff1a;Uniapp的页面和组件都是基于Vue组件的&#xff…

力扣经典题:相交链表

题目分析&#xff1a;两个链表如果相交且不存在环&#xff0c;那么这两个链表从相交节点往后的节点都相同&#xff0c;所以&#xff0c;遍历一个链表&#xff0c;在遍历时不断遍历另一个链表&#xff0c;只要相等就可以返回了 struct ListNode *getIntersectionNode(struct Li…

使用 git 上传文件时,运行 命令 git pull origin 时未成功,出现报错信息

项目场景&#xff1a; 背景&#xff1a; 使用 git 上传文件时&#xff0c;运行 命令 git pull origin 时未成功&#xff0c;出现报错信息 问题描述 问题&#xff1a; $ git pull origin print --allow-unrelated-histories error: Pulling is not possible because you hav…

ef core原始sql查询

ef core用原始sql查询&#xff0c;不能自动映射到类型中。 处理主要是将sql查询结果转换为json&#xff0c;然后再将json转换为类型对象 public async Task<List<Warning_log>> GetStatData(){string sql "SELECT CONVERT(date, [trigger_time]) as tr…

《C程序设计》上机实验报告(七)之指针的应用

实验内容&#xff1a; 1.运行程序 #include <stdio.h> void main() { int a10,*p; p&a; printf("%d",*p); scanf("%d",p); printf("%x",p); printf("%x",&p); *p5; printf("%d"…

React+Echarts实现数据排名+自动滚动+Y轴自定义toolTip文字提示

1、效果 2、环境准备 1、react18 2、antd 4 3、代码实现 原理&#xff1a;自动滚动通过创建定时器动态更新echar的dataZoom属性startValue、endValue&#xff0c;自定义tooltip通过监听echar的鼠标移入移出事件&#xff0c;判断tooltTip元素的显隐以及位置。 1、导入所需组…

《五彩斑斓》-------如何用C语言easyx图形库做出一个彩色矩阵

用于初始化随机数生成器种子,以确保每次运行程序时生成的随机数序列不同。 然后,程序进入main()函数,首先调用creatNum()函数生成一个随机数,并使用printf()函数将其输出到控制台。接着,程序调用initgraph()函数初始化图形窗口,并设置背景颜色为白色。 接下来,程序使用两…