C语言,低洼地问题

news2024/11/21 0:33:24

 最简单的低洼地的特征是前边下坡后边上坡。即三个数,第一个数比第二个数大,第二个数比第三个数小。

但是也有两种特殊情况:

第一种,就是图中序号3的那个低洼地,先下坡再平坡然后又是上坡,这里也算一个低洼地。

第二种,就是洼中洼,但那其实算一个低洼地。具体的洼中洼如图所示:

 虽然低洼地有几种特殊情况,但是低洼地都是有共同特点的。

低洼地都是必须先有下坡再有上坡的。知道这一点,就简单太多了,只要先创建一个变量记录下坡,再创建第二个变量,第二个变量只有在第一个变量已经记录到下坡之后,再记录到上坡,才会加一,当然第二个变量加一之后,也要清除第一个变量的记录下坡,因为这时候已经记录完一个低洼地的个数了,不能让这个下坡的记录影响后面低洼地的计算。

具体代码如图:

#include <stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	int arr[10000] = { 0 };
	int i = 0;
	for (i = 0; i < n; i++)
	{
		scanf("%d",&arr[i]);
	}
	int a = 0;
	int b = 0;
	int j = 0;
	for (j = 0; j < n - 1; j++)
	{
		if (arr[j] > arr[j + 1])
		{
			a = 1;
		}
		if (a == 1 && (arr[j] < arr[j + 1]))
		{
			b += 1;
			a = 0;
		}
	}
	printf("%d", b);
}

第二次for循环里循环次数要为n - 1次,因为第n个元素的计算已经包含在第n - 1个元素的计算中了(因为一次计算中计算的是arr[ j ]与arr[ j + 1 ]),更重要的是,如果循环次数为n,第n次的时候,arr[ n + 1 ]就会跑到数组内要计算的数字外面去,可能会读到数组外面初始化的0,如果n - 1是负数,可能会出现多出低洼地的情况。

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

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

相关文章

计算机毕业设计选什么题目好?springboot 大学餐厅菜品推荐和点评系统

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

element树形控件编辑节点组装节点

需求功能&#xff1a; 编辑树节点&#xff0c;组装节点 <el-scrollbar class"scrollbar-wrapper"><el-tree :data"nodeList" ref"tree" :props"defaultProps" :expand-on-click-node"false"><template slot…

golang jwt(hs,es,rs,ed)密钥生成、加签验签案例

golang JWT加签算法及使用案例 JWT原理 查看官方lib库 官方lib库 选择go语言 数据结构定义 secret.go package secretconst KEY_PATH "keys"type OutSecret struct {Secret string // 哈希签名PublicKeyFile stringPrivateKeyFile string } // 密钥生成 typ…

3D 人体研究

SynBody: Synthetic Dataset with Layered Human Models for 3D Human Perception and Modeling SynBody 是一个新的合成数据集&#xff0c;旨在推动 3D 人体研究的多样性和标注质量。它具有以下三个吸引人的特点&#xff1a; 服装参数化人体模型&#xff1a;可以生成各种不同…

智慧园区能源监控平台:构建绿色智能的未来城市

随着科技的发展的不断进步&#xff0c;在我国城镇化进程越来越快&#xff0c;园区做为产业集群的重要组成部分&#xff0c;其能源消耗和管理上的问题日益突显。为了应对这一考验&#xff0c;智慧园区能源监控平台应时而生&#xff0c;它利用大数据、云计算技术、物联网等尖端技…

云原生微服务治理 第四章 Spring Cloud Netflix 服务注册/发现组件Eureka

系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 文章目录 系列文章目录[TOC](文章目录) 前言1、Eureka 两大组件2、Eureka 服务注册与发现3、案例3.1、创建主工程3.1.1、主…

栈的模拟实现(Java)

目录 1、 栈的概念2、栈的使用3、栈的模拟实现 1、 栈的概念 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last I…

gpu cuda矩阵转置

欢迎关注更多精彩 关注我&#xff0c;学习常用算法与数据结构&#xff0c;一题多解&#xff0c;降维打击。 问题描述 给定1个二数组&#xff0c;利用gpu转置并返回结果。 cpu 算法 void cpu_matrix_trnspose(int in[N][M], int out[M][N]) {for (int y 0; y < N; y) {fo…

云原生安全应用场景有哪些?

当今数字化时代&#xff0c;数据已经成为企业最宝贵的资产之一&#xff0c;而云计算作为企业数字化转型的关键技术&#xff0c;其安全性也日益受到重视。随着云计算技术的快速发展&#xff0c;云原生安全应用场景也越来越广泛&#xff0c;下面本文将从云原生安全应用场景出发&a…

【Flutter学习】AppBar 和 PopupMenu

App Bar 可以视为页面的标题栏&#xff0c;在 Flutter 中用AppBar组件实现&#xff1b;Popup Menu 是弹出菜单&#xff0c;用PopupMenuButton实现。下面结合这两个组件说明其用法。 1. 代码实现 一个简单的AppBar实现代码如下&#xff1a; import package:flutter/material.…

ResNet分类器量化

1. 动态范围的常用计算方法 Max方法 之前的对称量化和非对称量化就是在用最大最小的办法做的 Histgram 直方图是一种用于可视化信号或数据分布的图形工具。计算动态范围的一种方法是通过查看直方图的范围。动态范围可以由直方图中的最高峰值和最低峰值之间的差异来估算。 E…

国内乳业龙头『君乐宝』×企企通强强联手,搭建采购供应链管理系统+商城平台双管齐下推动低碳转型

乳制品含有丰富且易吸收的营养物质&#xff0c;一直以来被认为是改善国民营养健康的重要产品&#xff0c;随着乳制品加工工艺的发展&#xff0c;市场上出现越来越多种类的乳制品供消费者选择。 随着中国经济发展、城镇化水平提高&#xff0c;以及年轻一代饮奶习惯的改变等因素&…

Table.Group系列_第4参数为全局的情况下,利用第5参数进行分组汇总

原始数据: 部门与职位存在于同一列中 实现功能: 根据筛选条件,可对部门或职位进行统计汇总第一列列名根据筛选自动变更,显示当前统计的维度 实现方式: 1. 构建筛选器内容 在任意空白单元格内输入需要筛选的内容 2. 插入"组合框"控件,并进行相应设置 从开发工具…

解决linux5.15编译时不生成boot.img 的问题

平台&#xff1a;rk3399 &#xff08;与平台关系不大&#xff09; 内核 &#xff1a;linux5.15 下一个linux5.15的内核&#xff0c;编译的时候 make ARCHarm64 CROSS_COMPILEaarch64-linux-gnu- -j6 rk3399-rock960.img 目标rk3399-rock960.img 需要在arch/arm64/boot/dts…

RK3588camera: AHD摄像头转MIPI转接芯片调试

我们常见的摄像头接口一般有MIPI、USB、DVP等等&#xff0c;但是MIPI摄像头受限于高速信号的传输距离问题&#xff0c;导致走线不能太长&#xff0c;这样在安防监控领域、车载等领域&#xff0c;使用就很受限&#xff0c;因此会引入一些技术延长摄像头的数据传输距离&#xff0…

Pytorch之SwinTransformer图像分类

文章目录 前言一、Swin Transformer1.Swin Transformer概览2.Patch Partition3.Patch Merging4.W-MSA5.SW-MSA(滑动窗口多头注意力机制)6.Relative Position bias(相对位置偏移)7.网络结构&#x1f947;Swin Transformer Block&#x1f948;Architecture 二、网络实现1.构建Eff…

【docker】Docker--harbor私有仓库部署与管理——重点

一、理论 1、本地私有仓库 只能在当前机器上做 #首先下载 registry 镜像 docker pull registry #在 daemon.json 文件中添加私有镜像仓库地址 vim /etc/docker/daemon.json { "insecure-registries": ["192.168.10.23:5000"], …

阿里云r8i内存型服务器ECS实例介绍_CPU性能_网络存储测评

阿里云服务器ECS内存型r8i实例CPU采用第四代Intel Xeon可扩展处理器&#xff08;Sapphire Rapids&#xff09;&#xff0c;基频2.7 GHz&#xff0c;全核睿频3.2 GHz&#xff0c;计算性能稳定&#xff0c;CPU内存比1:8&#xff0c;采用阿里云全新CIPU架构&#xff0c;CPU核心2核…

vue elementui的select组件实现滑到底部分页请求后端接口

vue elementui的select组件实现滑到底部分页请求后端接口 1.实现效果2.实现原理 1.实现效果 老规矩&#xff0c;直接上最后的实现效果 2.实现原理 直接上代码 <el-form-item class"diagmosisItem" label"诊断" v-scroll"handleScroll">…

Spring实战 | Spring IOC不能说的秘密?

国庆中秋特辑系列文章&#xff1a; 国庆中秋特辑&#xff08;八&#xff09;Spring Boot项目如何使用JPA 国庆中秋特辑&#xff08;七&#xff09;Java软件工程师常见20道编程面试题 国庆中秋特辑&#xff08;六&#xff09;大学生常见30道宝藏编程面试题 国庆中秋特辑&…