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

【c++笔试强训】(第三十八篇)

目录

不相邻取数(动态规划-线性dp)

题目解析

讲解算法原理

编写代码

空调遥控(⼆分/滑动窗⼝)

题目解析

讲解算法原理

编写代码


不相邻取数(动态规划-线性dp)

题目解析

1.题目链接:不相邻取数_牛客题霸_牛客网

2.题目描述

描述

小红拿到了一个数组。她想取一些不相邻的数,使得取出来的数之和尽可能大。你能帮帮她吗?

输入描述:

第一行输入一个正整数 n\n  ,代表数组长度

第二行输入 n\n  个正整数 a_iai​ ,代表整个数组。

1 \leq n \leq 2*10^5 , 1\leq a_i \leq 5*10^31≤n≤2∗105,1≤ai​≤5∗103

输出描述:

不相邻的数的最大和。

示例1

输入:

4
2 6 4 1

输出:

7

说明:

取 6 和 1 即可

讲解算法原理

解法:
算法思路:

打家劫舍~

编写代码

c++算法代码:

#include <iostream>
using namespace std;
const int N = 2e5 + 10;
int n;
int arr[N];
int f[N], g[N];
int main()
{cin >> n;for(int i = 1; i <= n; i++) cin >> arr[i];for(int i = 1; i <= n; i++){f[i] = g[i - 1] + arr[i]; g[i] = max(f[i - 1], g[i - 1]); }cout << max(f[n], g[n]) << endl;return 0;
}

java算法代码:

import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main
{public static void main(String[] args) {Scanner in = new Scanner(System.in); int n = in.nextInt();int[] arr = new int[n + 1]; int[] f = new int[n + 1]; int[] g = new int[n + 1];for(int i = 1; i <= n; i++){arr[i] = in.nextInt();}for(int i = 1; i <= n; i++){f[i] = g[i - 1] + arr[i]; g[i] = Math.max(f[i - 1], g[i - 1]); }System.out.println(Math.max(f[n], g[n]));}
}

空调遥控(⼆分/滑动窗⼝)

题目解析

1.题目链接:登录—专业IT笔试面试备考平台_牛客网

2.题目描述

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

题目描述

dddddd作为集训队的队长,一直掌管着集训室的空调遥控器,她需要调整温度使队员们更好地进入训练状态,已知集训室一共有nnn名队员,每位队员都有一个温度诉求a[i](1≤i≤n)a[i](1≤i≤n)a[i](1≤i≤n),当室内温度为KKK时,当且仅当∣a[i]−K∣≤p|a[i]-K|≤p∣a[i]−K∣≤p时,这个队员能够正常进入训练状态,否则就会开始躁动,作为队长,dddddd需要调整好温度,她想知道,在最佳情况下,最多有多少队员同时进入训练状态

输入描述:

第一行两个数n,p(1≤n,p≤1000000),含义如题面描述
接下来一行n个数a[i](1≤a[i]≤1000000)表示每个队员的温度诉求

输出描述:

输出一个数字,表示最多有多少队员同时进入训练状态

示例1

输入

6 2 1 5 3 2 4 6

6 2
1 5 3 2 4 6

输出

5

5

讲解算法原理

解法:
算法思路:

先排序。
解法⼀:滑动窗⼝
维护窗⼝内最⼤值与最⼩值的差在 2 * p 之间。
解法⼆:⼆分查找
枚举所有的温度,⼆分出符合要求的学⽣区间,然后统计个数。

编写代码

c++算法代码:

#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1e6 + 10;
int n, p;
int arr[N];
int main()
{cin >> n >> p;for(int i = 0; i < n; i++) cin >> arr[i]; sort(arr, arr + n);int ret = 0, left = 0, right = 0; p *= 2;while(right < n){while(arr[right] - arr[left] > p){left++;}ret = max(ret, right - left + 1); right++;}cout << ret << endl;return 0;
}

java算法代码:

import java.util.*;
public class Main
{public static void main(String[] args){Scanner in = new Scanner(System.in); int n = in.nextInt(), p = in.nextInt(); int[] arr = new int[n]; for(int i = 0; i < n; i++){arr[i] = in.nextInt();}Arrays.sort(arr);int left = 0, right = 0, ret = 0; p *= 2; while(right < n){while(arr[right] - arr[left] > p){left++;}ret = Math.max(ret, right - left + 1); right++;}System.out.println(ret);}
}

相关文章:

【c++笔试强训】(第三十八篇)

目录 不相邻取数&#xff08;动态规划-线性dp&#xff09; 题目解析 讲解算法原理 编写代码 空调遥控&#xff08;⼆分/滑动窗⼝&#xff09; 题目解析 讲解算法原理 编写代码 不相邻取数&#xff08;动态规划-线性dp&#xff09; 题目解析 1.题目链接&#xff1a;不相…...

go 自己写序列化函数不转义

以map[int32]string转化为[]byte为例 背景&#xff1a;算法传给我一个map[int32]string类型的值&#xff08;map的值本身是json转化成的string&#xff09;&#xff0c;我需要把这个值生成一个文件上传到OSS&#xff0c;但是发现通过url下载下来的文件里面有转义字符。 原因&a…...

一般行业安全管理人员考试题库分享

1.在高速运转的机械飞轮外部安装防护罩&#xff0c;属于(B)安全技术措施。 A.限制能量 B.隔离 C.故障设计 D.设置薄弱环节 2.生产经营单位的(B)是本单位安全生产的第一责任人&#xff0c;对落实本单位安全生产主体责任全面负责&#xff0c;具体履行安全生产管理职责。 A.全员 B…...

Marketo REST API 批量修改邮件内容

以下是更加细化的 使用 Marketo REST API 批量修改邮件内容 的步骤&#xff0c;详细解释每个阶段的操作&#xff0c;包括 API 的请求、数据处理及潜在问题解决。 前期准备工作 确保 Marketo API 访问权限 你需要 Marketo REST API 用户 和 API Role&#xff0c;有权限访问邮件资…...

《云原生安全攻防》-- K8s安全框架:认证、鉴权与准入控制

从本节课程开始&#xff0c;我们将来介绍K8s安全框架&#xff0c;这是保障K8s集群安全比较关键的安全机制。接下来&#xff0c;让我们一起来探索K8s安全框架的运行机制。 在这个课程中&#xff0c;我们将学习以下内容&#xff1a; K8s安全框架&#xff1a;由认证、鉴权和准入控…...

淘宝获取sku详细信息 API

淘宝获取 SKU 详细信息的 API 主要是 taobao.item_sku 接口&#xff0c;以下是详细介绍&#xff1a; 公共参数 key&#xff1a;调用 key&#xff0c;是调用接口的身份验证信息&#xff0c;必须以 GET 方式拼接在 URL 中1.secret&#xff1a;调用密钥&#xff0c;与 key 配合使…...

基于Spring Boot的体育商品推荐系统

一、系统背景与目的 随着电子商务的快速发展和人们健康意识的提高&#xff0c;体育商品市场呈现出蓬勃发展的态势。然而&#xff0c;传统的体育商品销售方式存在商品种类繁多、用户选择困难、个性化需求无法满足等问题。为了解决这些问题&#xff0c;基于Spring Boot的体育商品…...

C++小细节笔记

1、C字符串转数字 – 数字转字符串 //string > int 使用 stoi stol//int > string 使用 to_string()2、C遍历 int evalRPN(vector<string>& tokens) {stack<int> intStack;for(string &str:tokens){}bool isValid(string s) {stack<char> …...

go语言并发读写数据队列,不停写的同时,一次最多读取指定量数据(逐行注释)

1、数据队列可以存储任意类型的一个数据&#xff08;下程序是添加整数值&#xff09;。 数据队列代码点这里查看《go语言结构体实现数据结构队列&#xff08;先进先出&#xff09;存储数据&#xff08;逐行注释&#xff09;》 2、读写操作并发进行&#xff08;下程序向队列中…...

密码学——密码学概述、分类、加密技术(山东省大数据职称考试)

大数据分析应用-初级 第一部分 基础知识 一、大数据法律法规、政策文件、相关标准 二、计算机基础知识 三、信息化基础知识 四、密码学 五、大数据安全 六、数据库系统 七、数据仓库. 第二部分 专业知识 一、大数据技术与应用 二、大数据分析模型 三、数据科学 密码学 大数据…...

【数据库MySQL篇二】MySQL数据库入门基础教程:一网打尽数据库和表各种操作、命令和语法

一、MySQL创建数据库 使用Create命令创建数据库 我们可以在登陆 MySQL 服务后&#xff0c;使用 create 命令创建数据库&#xff0c;语法如下: CREATE DATABASE 数据库名; 以下命令简单的演示了创建数据库的过程&#xff0c;数据名为 RUNOOB: [roothost]# mysql -u root -p…...

Android 解决“Could not resolve all artifacts for configuration ‘:classpath‘方法

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂&#xff0c;风趣幽默"&#xff0c;感觉非常有意思,忍不住分享一下给大家。 &#x1f449;点击跳转到教程 报错背景&#xff0c;公司的项目&#xff0c;长时间没有打开&#xff0c;时隔半年再次打…...

青少年编程与数学 02-004 Go语言Web编程 08课题、使用Gin框架

青少年编程与数学 02-004 Go语言Web编程 08课题、使用Gin框架 一、Gin框架二、接收和处理请求三、应用示例 课题摘要:本文介绍了Gin框架的特点、如何接收和处理请求以及一个应用示例。Gin是一个高性能、轻量级的Go语言Web框架&#xff0c;以其快速、极简设计、强大的路由和中间…...

PostgreSQL: 事务年龄

排查 在 PostgreSQL 数据库中&#xff0c;事务年龄&#xff08;也称为事务 ID 年龄&#xff09;是一个重要的监控指标&#xff0c;因为 PostgreSQL 使用事务 ID&#xff08;XID&#xff09;来保持事务的隔离性。每个事务都会被分配一个唯一的事务 ID&#xff0c;这个 ID 随着每…...

C# 识别二维码

文章目录 一. 二维码识别技术概述二 维码识别的步骤图像预处理二维码的定位和检测二维码解码 三 常用的二维码识别库1. OpenCV2. ZXing.Net 一. 二维码识别技术概述 二维码是一种通过黑白矩阵排列来编码数据的图形符号&#xff0c;它的编码方式具有较强的容错性&#xff0c;可以…...

KeepAlive与RouterView缓存

参考 vue动态组件&#xff1c;Component&#xff1e;与&#xff1c;KeepAlive&#xff1e; KeepAlive官网介绍 缓存之keep-alive的理解和应用 Vue3Vite KeepAlive页面缓存问题 vue多级菜单(路由)导致缓存(keep-alive)失效 vue3 router-view keeperalive对于同一路径但路径…...

RK3588 , mpp硬编码rgb, 保存MP4视频文件.

RK3588 , mpp硬编码yuv, 保存MP4视频文件. ⚡️ 传送 ➡️ RK3588, FFmpeg 拉流 RTSP, mpp 硬解码转RGBRk3588 FFmpeg 拉流 RTSP, 硬解码转RGBUbuntu x64 架构, 交叉编译aarch64 FFmpeg mppCode Init MppMPP_RET init_mpp...

使用 Wireshark 和 Lua 脚本解析通讯报文

在复杂的网络环境中&#xff0c;Wireshark 凭借其强大的捕获和显示功能&#xff0c;成为协议分析不可或缺的工具。然而&#xff0c;面对众多未被内置支持的协议或需要扩展解析的场景&#xff0c;Lua 脚本的引入为Wireshark 提供了极大的灵活性和可扩展性。本文将详细介绍如何使…...

ElasticSearch08-分析器详解

零、文章目录 ElasticSearch08-分析器详解 1、分析器原理 Elasticsearch的分词器&#xff08;Analyzer&#xff09;是全文搜索的核心组件&#xff0c;它负责将文本转换为一系列单词&#xff08;term/token&#xff09;的过程&#xff0c;也叫分词。 &#xff08;1&#xff…...

【IN、NOT、AND、OR】在 MySql 中的使用方法,使用场景、注意事项

目录 IN NOT AND OR 注意事项&#xff1a; 使用场景&#xff1a; IN 用于指定某个字段的值在一个预定义的列表中。 SELECT * FROM users WHERE age IN (20, 25, 30);查询返回 age 字段 是20、25 、30 的用户记录。 NOT 用于对条件进行否定。 查询将返回与指定 条件相…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统&#xff0c;它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间&#xff0c;使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的&#xff0c;要在 …...

API网关Kong的鉴权与限流:高并发场景下的核心实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中&#xff0c;API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关&#xff0c;Kong凭借其插件化架构…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道

文/法律实务观察组 在债务重组领域&#xff0c;专业机构的核心价值不仅在于减轻债务数字&#xff0c;更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明&#xff0c;合法债务优化需同步实现三重平衡&#xff1a; 法律刚性&#xff08;债…...