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

尺取法(算法优化技巧)

问题和序列的区间有关,且需要操作两个变量,可以用两个下标(指针)i 和  j 扫描区间。

1,反向扫描,i 从头,j 从尾,在中间相遇。

例1.1(P37)

找指定和的整数对

#include<bits/stdc++.h>
using namespace std;
const int N=100005;
int n,m;
int a[N];
int main(){cin>>n>>m;for(int i=0;i<n;i++) cin>>a[i];sort(a,a+n);int i=0,j=n-1;while(i<j){int sum=a[i]+a[j];if(sum<m) i++;if(sum>m) j--;if(sum==m){cout<<a[i]<<" "<<a[j]<<endl;i++;}}return 0;
}

例1.2

判断回文串

#include<bits/stdc++.h>
using namespace std;
int main(){int n; cin>>n;while(n--){string s; cin>>s;bool ans =true;int i=0,j=s.size()-1;while(i<j){if(s[i]!=s[j]){ans=false; break;}i++,j--;}if(ans) cout<<"Yes"<<endl;else cout<<"No"<<endl;}return 0;
}

允许删除(或插入,本题只考虑删除)最多一个字符,判断是否能构成回文字符串。

#include<bits/stdc++.h>
using namespace std;
int main(){int n; cin>>n;bool f;while(n--){string s; cin>>s;bool ans =true;f=true;int i=0,j=s.size()-1;while(i<j&&f){if(s[i]!=s[j]&&f){f=!f;int ii=i+1,jj=j;while(ii<jj){if(s[ii]!=s[jj]) {ans=false;break;}ii++,jj--;}int i2=i,j2=j-1;while(i2<j2){if(s[i2]!=s[j2]) {ans=false;break;}i2++,j2--;}}if(f)i++,j--;}if(ans) cout<<"Yes"<<endl;else cout<<"No"<<endl;}return 0;
}

2,同向扫描

2.1 寻找区间和

给定一个长度为 n 的数组和一个数 s ,在这个数组中找一个区间,使这个区间的数组元素之和等于 s 。输出区间的起点和终点位置。

相关文章:

尺取法(算法优化技巧)

问题和序列的区间有关&#xff0c;且需要操作两个变量&#xff0c;可以用两个下标&#xff08;指针&#xff09;i 和 j 扫描区间。 1&#xff0c;反向扫描&#xff0c;i 从头&#xff0c;j 从尾&#xff0c;在中间相遇。 例1.1&#xff08;P37&#xff09; 找指定和的整数对…...

基于 K-Means 聚类分析实现人脸照片的快速分类

注:本文在创作过程中得到了 ChatGPT、DeepSeek、Kimi 的智能辅助支持,由作者本人完成最终审阅。 在 “视频是不能 P 的” 系列文章中,博主曾先后分享过人脸检测、人脸识别等相关主题的内容。今天,博主想和大家讨论的是人脸分类问题。你是否曾在人群中认错人,或是盯着熟人的…...

【漏洞预警】FortiOS 和 FortiProxy 身份认证绕过漏洞(CVE-2024-55591)

文章目录 一、产品简介二、漏洞描述三、影响版本四、漏洞检测方法五、解决方案 一、产品简介 FortiOS是Fortinet公司核心的网络安全操作系统&#xff0c;广泛应用于FortiGate下一代防火墙&#xff0c;为用户提供防火墙、VPN、入侵防御、应用控制等多种安全功能。 FortiProxy则…...

7.5.4 MVCC优化测试

作者&#xff1a; h5n1 原文来源&#xff1a; https://tidb.net/blog/4e02d900 1. 背景 由于MVCC 版本数量过多导致rocksdb扫描key数量过多影响SQL执行时间是tidb经常出现问的问题&#xff0c;tidb也一直在致力于优化该问题。 一些优化方式包括比&#xff1a; (1) 从传统…...

STM32 FreeRTOS 事件标志组

目录 事件标志组简介 基本概念 1、事件位&#xff08;事件标志&#xff09; 2、事件组 事件组和事件位数据类型 事件标志组和信号量的区别 事件标志组相关API函数介绍 事件标志组简介 基本概念 当在嵌入式系统中运行多个任务时&#xff0c;这些任务可能需要相互通信&am…...

生成树机制实验

1 实验内容 1、基于已有代码,实现生成树运行机制,对于给定拓扑(four_node_ring.py),计算输出相应状态下的生成树拓扑 2、构造一个不少于7个节点,冗余链路不少于2条的拓扑,节点和端口的命名规则可参考four_node_ring.py,使用stp程序计算输出生成树拓扑 2 实验原理 一、…...

企业分类相似度筛选实战:基于规则与向量方法的对比分析

文章目录 企业表相似类别筛选实战项目背景介绍效果展示基于规则的效果基于向量相似的效果 说明相关文章推荐 企业表相似类别筛选实战 项目背景 在当下RAG&#xff08;检索增强生成&#xff09;技术应用不断发展的背景下&#xff0c;掌握文本相似算法不仅能够助力信息检索&…...

2024年博客之星年度评选—创作影响力评审入围名单公布

2024年博客之星活动地址https://www.csdn.net/blogstar2024 TOP 300 榜单排名 用户昵称博客主页 身份 认证 评分 原创 博文 评分 平均 质量分评分 互动数据评分 总分排名三掌柜666三掌柜666-CSDN博客1001002001005001wkd_007wkd_007-CSDN博客1001002001005002栗筝ihttps:/…...

递归40题!再见递归

简介&#xff1a;40个问题&#xff0c;有难有易&#xff0c;均使用递归完成&#xff0c;需要C/C的指针、字符串、数组、链表等基础知识作为基础。 1、数字出现的次数 由键盘录入一个正整数&#xff0c;求该整数中每个数字出现的次数。 输入&#xff1a;19931003 输出&#xf…...

社区版Dify实现文生视频 LLM+ComfyUI+混元视频

社区版Dify实现文生视频 LLMComfyUI混元视频 一、 社区版Dify实现私有化混元视频效果二、为什么社区版Dify可以在对话框实现文生视频&#xff1f;LLMComfyUI混元视频 实现流程图&#xff08;重点&#xff09;1. 文生视频模型支持ComfyUI2. ComfyUI可以轻松导出API实现封装3. Di…...

【LLM】Openai-o1及o1类复现方法

note 可以从更为本质的方案出发&#xff0c;通过分析强化学习的方法&#xff0c;看看如何实现o1&#xff0c;但其中的核心就是在于&#xff0c;如何有效地初始化策略、设计奖励函数、实现高效的搜索算法以及利用强化学习进行学习和优化。 文章目录 note一、Imitate, Explore, …...

jlatexmath-android如何实现自定义渲染字符

使用jlatexmath-android的过程&#xff0c;如果出现个别字符渲染不了&#xff0c;会导致无法显示 常用的做法是新增自定义字体切换系统默认字体渲染&#xff0c;下面我们介绍第2种方法。 修改流程&#xff1a; 1、到jlatexmath-android的官网下载源码到本地&#xff0c;导入…...

dockerhub上一些镜像

K8s下网络排障工具 https://hub.docker.com/r/nicolaka/netshoot ex kubectl run tmp-shell --rm -i --tty --image nicolaka/netshoot -- /bin/bash # 主机的net ns下运行 kubectl run tmp-shell --rm -i --tty --overrides{"spec": {"hostNetwork": tru…...

Python 爬虫学习指南与资料分享

Python爬虫学习资料 Python爬虫学习资料 Python爬虫学习资料 在数字化浪潮中&#xff0c;Python 爬虫作为强大的数据获取工具&#xff0c;为众多领域提供关键支持。想要系统掌握这门技术&#xff0c;以下的学习指南与资料分享将为你照亮前行道路。 一、学习指南 入门奠基 …...

TypeScript特有运算符和操作符

文章目录 TypeScript 特有运算符1. keyof2. typeof3. in4. extends5. is6. as 和 <Type>7. never8. readonly9. ?10. []11. | 和 &12. !13. ?? 和 ?. 总结 TypeScript 特有运算符 1. keyof 作用&#xff1a;用于获取对象类型的所有键&#xff08;属性名&#x…...

介绍下常用的前端框架及时优缺点

以下是一些常用的前端框架及其优缺点介绍&#xff1a; React • 优点 • 组件化架构&#xff1a;可构建可复用的UI组件&#xff0c;提高开发效率和组件可维护性。 • 虚拟DOM&#xff1a;高效更新页面&#xff0c;减少直接操作DOM的性能开销。 • 灵活性和可扩展性&#xf…...

MATLAB算法实战应用案例精讲-【数模应用】图形变换和复杂图形组合(附python和MATLAB代码实现)

目录 前言 算法原理 变换 1二维变换 1.1缩放 1.2 翻转 1.3剪切 1.4 旋转 2齐次坐标 2.1引入齐次坐标的原因 2.2 二维齐次坐标 2.3二维仿射变换 2.4逆变换 4组合变换 5三维变换(由二维变换推理而来) 5.1三维齐次坐标 5.2 三维仿射变换 5.3 缩放和平移 5.4…...

SpringMVC 实战指南:打造高效 Web 应用的秘籍

第一章&#xff1a;三层架构和MVC 三层架构&#xff1a; 开发服务器端&#xff0c;一般基于两种形式&#xff0c;一种 C/S 架构程序&#xff0c;一种 B/S 架构程序使用 Java 语言基本上都是开发 B/S 架构的程序&#xff0c;B/S 架构又分成了三层架构三层架构&#xff1a; 表现…...

doris: Flink导入数据

使用 Flink Doris Connector 可以实时的将 Flink 产生的数据&#xff08;如&#xff1a;Flink 读取 Kafka&#xff0c;MySQL 中的数据&#xff09;导入到 Doris 中。 使用限制​ 需要依赖用户部署的 Flink 集群。 使用 Flink 导入数据​ 使用 Flink 导入数据&#xff0c;详…...

Nginx在Linux中的最小化安装方式

1. 安装依赖 需要安装的东西&#xff1a; wget​&#xff0c;方便我们下载Nginx的包。如果是在Windows下载&#xff0c;然后使用SFTP上传到服务器中&#xff0c;那么可以不安装这个软件包。gcc g​&#xff0c;Nginx是使用C/C开发的服务器&#xff0c;等一下安装会用到其中的…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

R语言速释制剂QBD解决方案之三

本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...