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

6-2 分治法求解金块问题

description

老板有一袋金块(共n块,2≤n≤100),两名最优秀的雇员每人可以得到其中的一块,排名第一的得到最重的金块,排名第二的则得到袋子中最轻的金块。

输入一个正整数N(2≤N≤100)和N个整数,用分治法求出最重金块和最轻金块。

本题要求实现2个函数,分别使用分治法在数组中找出最大值、最小值。

函数接口定义:
int max(int a[ ], int m, int n);
int min(int a[ ], int m, int n);
递归函数max用分治法求出a[m]~a[n]中的最大值并返回。

递归函数min用分治法求出a[m]~a[n]中的最小值并返回。

裁判测试程序样例:
#include <stdio.h>
#define MAXN 101

int max(int a[ ], int m, int n);
int min(int a[ ], int m, int n);

int main(void)
{
int i, n;
int a[MAXN];

scanf ("%d", &n); 
if(n >= 2 && n <= MAXN-1 ){for(i = 0; i < n; i++){ scanf ("%d", &a[i]); }printf("max = %d\n", max(a, 0, n-1));printf("min = %d\n", min(a, 0, n-1));
}else{printf("Invalid Value.\n");    
}return 0;

}

/* 请在这里填写答案 */

输入样例:

6
3 9 4 9 2 4

输出样例:

max = 9
min = 2

solution

/* 请在这里填写答案 */
int max(int a[ ], int m, int n){if(m == n) return a[m];else{int mid = (m + n) / 2;int lMax = max(a, m, mid);int rMax = max(a, mid + 1, n);if(lMax > rMax) return lMax;else return rMax;}
}
int min(int a[ ], int m, int n){if(m == n) return a[m];else{int mid = (m + n) / 2;int lMin = min(a, m, mid);int rMin = min(a, mid + 1, n);if(lMin < rMin) return lMin;else return rMin;}
}

相关文章:

6-2 分治法求解金块问题

description 老板有一袋金块&#xff08;共n块&#xff0c;2≤n≤100&#xff09;&#xff0c;两名最优秀的雇员每人可以得到其中的一块&#xff0c;排名第一的得到最重的金块&#xff0c;排名第二的则得到袋子中最轻的金块。 输入一个正整数N&#xff08;2≤N≤100&#xff…...

A062-防火墙安全配置-配置Iptables防火墙策略

实验步骤: 【教学资源类别】 序号 类别 打勾√ 1 学习资源 √ 2 单兵模式赛题资源 3 分组对抗赛题资源 【教学资源名称】 防火墙安全配置-配置安全设置iptables防火墙策略 【教学资源分类】 一级大类 二级大类 打勾√ 1.安全标准 法律法规 行业标准 安全…...

Java包装类

在Java中不能自己定义基本数据类型对象&#xff0c;为了将基本数据类型视为对象进行处理&#xff0c;并能连接相关方法&#xff0c;Java为每个基本数据类型都提供了【包装类】如int型数值的包装类【Integer】,boolean型数值的包装类【Boolean】,这样就可以把这些基本数据类型转…...

常用字符字符串处理函数

isdigit、isalnum、isalpha、islower、issupper都是C/C 语言中判断字符的一些函数&#xff0c;灵活利用在刷题中可以节省我们的一部分时间。下面c统一为char类型字符 1.isdigit 若参数c为十进制数字0~9&#xff0c;则返回非0值&#xff0c;否则返回0。 其中isxdigital判断是…...

【汇编语言特别篇】DOSBox及常用汇编工具的详细安装教程

文章目录 &#x1f4cb;前言一. ⛳️dosbox的介绍、下载和安装1.1 &#x1f514;dosbos简介1.2 &#x1f514;dosbox的下载1.2.1 &#x1f47b;方式一&#xff1a;官网下载(推荐)1.2.2 &#x1f47b;方式二&#xff1a;网盘安装包 1.3 &#x1f514;dosbox的安装1.4 &#x1f5…...

【牛客网刷题(数据结构)】:环形链表的约瑟夫问题

描述 编号为 1 到 n 的 n 个人围成一圈。从编号为 1 的人开始报数&#xff0c;报到 m 的人离开。 下一个人继续从 1 开始报数。 n-1 轮结束以后&#xff0c;只剩下一个人&#xff0c;问最后留下的这个人编号是多少&#xff1f; O(n) 示例1 好环形链表的约瑟夫问题是一个经典的问…...

虾皮印尼买家号如何注册

虾皮&#xff08;Shopee&#xff09;是一个流行的电子商务平台&#xff0c;想要注册虾皮印尼买家号&#xff0c;可以按照以下步骤进行操作&#xff1a; 1、访问虾皮印尼站点&#xff1a;打开浏览器&#xff0c;输入虾皮印尼官网 2、点击"注册"&#xff1a;在网站的…...

SpringBoot WebService服务端客户端使用教程

服务端&#xff1a; 依赖 <!-- webservice相关依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web-services</artifactId></dependency><dependency><groupId&…...

【Python 千题 —— 基础篇】字符串长度

题目描述 题目描述 获取字符串长度是编程过程中常用的操作之一。编写一个程序&#xff0c;输入一个字符串&#xff0c;然后输出字符串的长度。 输入描述 输入一个字符串。 输出描述 程序将输入的字符串的长度输出。 代码讲解 下面是本题的代码&#xff1a; # 描述: 输…...

AIGC - 入门向量空间模型

文章目录 向量和向量空间向量的运算什么是向量空间&#xff1f;向量空间的几个重要概念向量之间的距离曼哈顿距离&#xff08;Manhattan Distance&#xff09;欧氏距离&#xff08;Euclidean Distance&#xff09;切比雪夫距离&#xff08;Chebyshev Distance&#xff09; 向量…...

python中使用xml.dom.minidom模块读取解析xml文件

python中可以使用xml.dom.minidom模块读取解析xml文件 xml.dom.minidom模块应该是内置模块不用下载安装 对于一个xml文件来说比如这个xml文件的内容为如下 <excel version"1.0" author"huangzhihui"><table id"1"><colum id&qu…...

计算机网络第一章补充整理(计算机网络体系结构)

前言&#xff1a;以下整理内容&#xff0c;参考《计算机网络自顶向下》和哈工大的计网慕课 目录 计算机网络的体系结构的一些概念为什么采用分层结构&#xff1f;分层结构的优点分层结构的缺点 开放系统互连&#xff08;OSI&#xff09;参考模型物理层功能数据链路层功能网络层…...

2023_Spark_实验十七:导入招聘大数据(项目)

一、爬虫爬取的招聘网站数据 二、在MySQL中创建空表 SET FOREIGN_KEY_CHECKS0;-- ---------------------------- -- Table structure for jd_jobs -- ---------------------------- DROP TABLE IF EXISTS jd_jobs; CREATE TABLE jd_jobs (job_name text,job_date text,minSale…...

小程序无感刷新

下载wechat-http依赖 npm install wechat-http封装请求拦截器和相应拦截器&#xff0c;借助refreshToken实现无感刷新 // 导入 http 模块 import http from wechat-http // 基础路径&#xff0c;同时需添加合法请求域名 http.baseURL https://live-api.itheima.net // 配置请…...

Unity C#随笔:简述String和StringBuilder的区别

1.、String&#xff1a; 不可变性&#xff08;Immutability&#xff09;&#xff1a; String对象一旦被创建&#xff0c;就不能被修改。每次对String对象进行操作时&#xff0c;实际上是创建了一个新的String对象&#xff0c;然后对象的引用重新指向这个新的对象。性能&#x…...

图论相关算法

一、迪杰斯特拉(Dijkstra)算法 迪杰斯特拉算法使用类似广度优先搜索的方法解决了带权图的单源最短路径问题。这是一个贪心算法。 1.核心思想 &#xff08;1&#xff09;每次选中一个点&#xff0c;这个点满足两个条件&#xff1a; 未被选过距离最短 &#xff08;2&#xf…...

Python人工智能需要学什么

Python语言在人工智能开发领域有非常广泛的应用&#xff0c;随着人工智能平台的落地应用&#xff0c;未来采用Python语言来开发行业智能产品会是比较常见的选择。 然而进行人工智能开发仅凭Python语言是不够的&#xff0c;学习Python人工智能需要学习哪些知识呢? 一、Python…...

Java 获取请求真实IP

获取IP地址为 127.0.0.1, 或者内网地址 Nginx配置, 只有 proxy_pass 时只能获取到 127.0.0.1 location / {proxy_pass http://127.0.0.1:8080; }修改为 location / {#保留代理之前的host 包含客户端真实的域名和端口号proxy_set_header Host $host; #保留代理之前的真实客…...

Python突破浏览器TLS/JA3 指纹

JA3 是一种创建 SSL/TLS 客户端指纹的方法&#xff0c;一般一个网站的证书是不变的&#xff0c;所以浏览器指纹也是稳定的&#xff0c;能区分不同的客户端。 requests库 Python requests库请求一个带JA3指纹网站的结果&#xff1a; import requestsheaders {authority: tls…...

web安全之XSS攻击

什么是XSS攻击 XSS&#xff08;Cross-Site Scripting&#xff09;又称跨站脚本&#xff0c;XSS的重点不在于跨站点&#xff0c;而是在于脚本的执行。XSS是一种经常出现在 Web 应用程序中的计算机安全漏洞&#xff0c;是由于 Web 应用程序对用户的输入过滤不足而产生的。 常见…...

2023年最新YOLO模型对比:YOLOv7 vs YOLOX vs YOLOv5,哪个更适合你的项目?

2023年YOLO模型实战选型指南&#xff1a;从原理到落地的深度对比 在计算机视觉领域&#xff0c;目标检测一直是核心任务之一&#xff0c;而YOLO(You Only Look Once)系列作为其中的佼佼者&#xff0c;凭借其出色的实时性能赢得了广泛关注。2023年&#xff0c;随着YOLOv7的发布&…...

将大疆无人机GPS数据接入ROS:一份从PSDK C++示例到sensor_msgs/NavSatFix话题的完整改造指南

大疆无人机GPS数据与ROS深度集成实战指南 1. 系统架构设计与环境准备 在机器人导航系统中&#xff0c;高精度定位数据是核心要素之一。大疆Matrice 350 RTK无人机搭载的GPS/RTK模块能够提供厘米级定位精度&#xff0c;而ROS&#xff08;Robot Operating System&#xff09;作为…...

长脉冲激光打孔技术及其与水平集算法的融合应用

长脉冲激光打孔&#xff0c;水平集算法工业级激光打孔就像用光做的"绣花针"&#xff0c;在金属表面精准戳出微米级孔洞。但当我们把激光脉冲时间拉长到毫秒量级时&#xff0c;事情就变得有趣起来——材料不再是瞬间汽化&#xff0c;而是经历缓慢的熔融、流动、再凝固…...

Instant-NGP实战:5分钟用CUDA加速你的NeRF模型渲染(附代码片段)

Instant-NGP实战&#xff1a;5分钟用CUDA加速你的NeRF模型渲染&#xff08;附代码片段&#xff09; 当你在深夜调试NeRF模型&#xff0c;看着进度条缓慢爬行&#xff0c;是否想过——如果能像英伟达演示的那样&#xff0c;在10毫秒内完成一帧高清渲染该多好&#xff1f;去年横空…...

YOLOv11模型导出实战:从PyTorch到多平台部署的完整指南

1. YOLOv11模型导出前的准备工作 第一次接触模型导出时&#xff0c;我踩过不少坑。记得有次在客户现场调试&#xff0c;因为环境配置问题折腾了一整天。所以咱们先把基础打牢&#xff0c;避免走弯路。 硬件环境方面&#xff0c;建议至少准备&#xff1a; 配备NVIDIA显卡的机器&…...

安防相机WDR功能实测:逆光场景下如何拍清车牌和人脸?

安防相机WDR功能实战解析&#xff1a;逆光场景下的车牌与人脸清晰拍摄指南 停车场出入口的监控画面中&#xff0c;一辆黑色轿车缓缓驶过&#xff0c;阳光从车尾方向直射镜头&#xff0c;车牌区域瞬间变成一片刺眼的白光——这是安防工程中最令人头疼的逆光场景。现代宽动态范围…...

Pointer Network:如何解决序列生成中的动态词汇表问题

1. 为什么需要Pointer Network&#xff1f; 想象一下你正在玩一个拼图游戏&#xff0c;每次拿到的拼图块数量都不一样。传统的seq2seq模型就像是一个固定大小的收纳盒——如果这次拼图有50块&#xff0c;下次突然变成100块&#xff0c;你的收纳盒就装不下了。这就是传统序列生成…...

Harbor集成Trivy实现镜像安全扫描:从安装到离线环境配置全攻略

1. 为什么需要镜像安全扫描&#xff1f; 最近在帮客户部署容器平台时遇到一个典型问题&#xff1a;测试环境频繁出现应用崩溃&#xff0c;排查后发现是基础镜像中的某个高危漏洞导致的。这让我意识到&#xff0c;镜像安全扫描不是可选项&#xff0c;而是现代DevOps流程中的必选…...

告别重复造轮子:用快马AI一键生成Unity高效开发工具与通用模块

告别重复造轮子&#xff1a;用快马AI一键生成Unity高效开发工具与通用模块 在Unity游戏开发过程中&#xff0c;UI管理系统是最基础也最常被重复开发的模块之一。每次新项目都要从头搭建UI框架&#xff0c;不仅浪费时间&#xff0c;还容易引入不一致的设计模式。最近我在InsCod…...

离职见人品:软件测试工程师如何优雅交接,为职业生涯赋能

在职业旅程的每一次转折点&#xff0c;如何“结束”与如何“开始”同等重要。对于软件测试工程师而言&#xff0c;离职远非简单地提交代码、归还电脑那么简单。它更像是一次对个人职业素养、专业精神和人脉网络的集中检阅。一次专业、周到、负责任的交接&#xff0c;不仅能确保…...