python-比较月亮大小/数组下标/人见人爱a+b
一:比较月亮大小
题目描述
小理是一名出色的狼人。众所周知,狼人只有在满月之夜才会变成狼。
同时,月亮的大小随着时间变化,它的大小变化 3030 天为一循环。
它的变化情况(从第一天开始)为 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1 然后又再一次循环。
今年夏天小理很无聊,于是开始看月亮。由于小理很忙,所以他只选择一段连续的时间看月亮,并把月亮的大小记录了下来。
现在,他告诉你他记录下的东西,让你告诉他下一天(即小理记录下的最后一天的第二天)的月亮是比前一天(即小理记录下的最后一天)大还是小。
输入格式
给你一个正整数 n 表示点点记录下的时间个数。
下一行 n 个自然数表示点点记录下的月亮大小。
输出格式
一个字符串。
如果下一天的比前一天的大则输出"UP";
如果下一天的比前一天的小则输出"DOWN";
如果无法判断则输出" −1 "。
样例输入输出
样例输入#1
5
3 4 5 6 7
样例输出#1
UP
样例输入#2
8
12 13 14 15 14 13 12 11
样例输出#2
DOWN
样例输入#3
1
8
样例输出#3
-1
数据范围
对于 100% 的数据,保证 1≤n≤100,0≤ai≤15 。
保证输入的数据满足月亮变化的循环规律。
来源/分类(难度系数:一星)
数组 模拟
完整代码展示:
a=int(input())
b=list(map(int,input().split()))
if len(b)>=2:
if b[-1]>b[-2]:
if b[-1]!=15:
print("UP")
else:
print("DOWN")
elif b[-1]<b[-2]:
if b[-1]!=0:
print("DOWN")
else:
print("UP")
else:
print("-1")
a=int(input())
b=list(map(int,input().split()))
if len(b)>=2:if b[-1]>b[-2]:if b[-1]!=15:print("UP")else:print("DOWN")elif b[-1]<b[-2]:if b[-1]!=0:print("DOWN")else:print("UP")
else:print("-1")
代码解释:
“a=int(input())
b=list(map(int,input().split())) ”,导入用户观察的天数a,接着依次导入用户观察到的月亮大小,并将其储存在列表b中。
“if len(b)>=2:
if b[-1]>b[-2]:
if b[-1]!=15:
print("UP")
else:
print("DOWN")
elif b[-1]<b[-2]:
if b[-1]!=0:
print("DOWN")
else:
print("UP")
else:
print("-1") ”,判断列表b的长度是否大于等于2,如果是:则按判断顺序判断月亮是在变大或变小并打印结果。
运行效果展示:
二:数组下标
题目描述
给出一个数列 A ,求出一个数列 B 。
其中 Bi 表示数列 A 中 Ai 右边第一个比 Ai 大的数的下标(从 1 开始计数),没有找到这一个下标 Bi 就为 0 。
输出数列 B 。
输入格式
第一行 1 个数字 n 。
第二行 n 个数字第 i 个数字为 Ai 。
输出格式
一共一行,第 i 个数和第 i+1 个数中间用空格隔开。
样例输入输出
样例输入
6
3 2 6 1 1 2
样例输出
3 3 0 6 6 0
数据范围
对于 100% 的数据,保证 1≤n≤104,0≤Ai≤109 。
来源/分类(难度系数:一星) 循环递归 每日一题
完整代码展示:
a=int(input())
b=list(map(int,input().split()))
c=0
d=[]
while c<len(b):
e=b[:]
f=[]
for i in range(c+1,len(e)):
if e[i]>e[c]:
f.append(i+1)
d.append(f)
c+=1
for j in range(0,len(d)):
if len(d[j])==0:
print("0",end=" ")
else:
print(d[j][0],end=" ")
a=int(input())
b=list(map(int,input().split()))
c=0
d=[]
while c<len(b):e=b[:]f=[]for i in range(c+1,len(e)):if e[i]>e[c]:f.append(i+1)d.append(f)c+=1
for j in range(0,len(d)):if len(d[j])==0:print("0",end=" ")else:print(d[j][0],end=" ")
代码解释:
“a=int(input())
b=list(map(int,input().split())) ”,导入用户的数组元素数量a,接着依次导入用户给定的数组元素,并将其储存在列表b中。
“c=0
d=[]
while c<len(b):
e=b[:]
f=[]
for i in range(c+1,len(e)):
if e[i]>e[c]:
f.append(i+1)
d.append(f)
c+=1 ”,令c为循环密码子,初始值为0,接着建立一个空列表b,用于储存数组中任意元素右侧比该元素大的元素下标。当c<len(b)时:复制b赋给e,建立一个空列表f,接着依次遍历e中e[c+1]~e[len(e)-1]元素e[i],判断e[i]是否大于e[c],如果是:则将下标添加进f中。遍历结束后,将f添加进d中。每循环一次:c+1,直至c==len(b),跳出整个while循环。
“for j in range(0,len(d)):
if len(d[j])==0:
print("0",end=" ")
else:
print(d[j][0],end=" ") ”,依次遍历d中元素,判断d[j]是否为空列表:如果是,则打印”0”,以空格结尾,否则打印d[j][0],以空格结尾。
运行效果展示:
三:人见人爱a+b
题目描述
北大的acm上面已经有 10 来道 A+B 的题目了,相信这些题目曾经是大家的最爱,希望今天的这个 A+B 能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。
这个题目的 A 和 B 不是简单的整数,而是两个时间, A 和 B 都是由 3 整数组成,分别表示时分秒,比如,假设 A 为 34 45 56 ,就表示 A 所表示的时间是 34 小时 45 分钟 56 秒。
输入格式
输入数据有多行组成,首先是一个整数 N ,表示测试实例的个数,然后是 N 行数据,每行有 6 个整数 AH,AM,AS,BH,BM,BS ,分别表示时间 A 和 B 所对应的时分秒。
题目保证所有的数据合法。
输出格式
对于每个测试实例,输出 A+B ,每个输出结果也是由时分秒 3 部分组成,同时也要满足时间的规则(即:分和秒的取值范围在 0∼59 ),每个输出占一行,并且所有的部分都可以用 32 位整数表示。
样例输入输出
样例输入
1
1 2 3 4 5 6
样例输出
5 7 9
来源/分类(难度系数:一星)
数组 每日一题
完整代码展示:
a=int(input())
b=[]
for i in range(a):
c=list(map(int,input().split()))
b.append(c)
d=0
while d<len(b):
sum=3600*(b[d][0]+b[d][3])+60*(b[d][1]+b[d][4])+(b[d][2]+b[d][5])
e=sum//3600
f=(sum-3600*e)//60
g=sum-3600*e-60*f
print(e,f,g)
d+=1
a=int(input())
b=[]
for i in range(a):c=list(map(int,input().split()))b.append(c)
d=0
while d<len(b):sum=3600*(b[d][0]+b[d][3])+60*(b[d][1]+b[d][4])+(b[d][2]+b[d][5])e=sum//3600f=(sum-3600*e)//60g=sum-3600*e-60*fprint(e,f,g)d+=1
代码解释:
“a=int(input() “,导入用户需处理的数据组数a。
“b=[]
for i in range(a):
c=list(map(int,input().split()))
b.append(c) ”,建立一个空列表b。循环a次:导入用户的一组数据(六个整数)。并将其储存在列表c中,接着将c添加进b中。
“d=0
while d<len(b):
sum=3600*(b[d][0]+b[d][3])+60*(b[d][1]+b[d][4])+(b[d][2]+b[d][5])
e=sum//3600
f=(sum-3600*e)//60
g=sum-3600*e-60*f
print(e,f,g)
d+=1 ”,令d为循环密码子,初始值为0。当d<len(b)时:奖b[d]中数据转换为秒数,接着再将秒数转换为合法时间,e为小时数,f为分钟数,g为秒钟数,打印e,f,g。每循环一次,d+1,直至d==len(b),跳出整个while循环。
运行效果展示:
(声明:以上内容均为原创)
相关文章:

python-比较月亮大小/数组下标/人见人爱a+b
一:比较月亮大小 题目描述 小理是一名出色的狼人。众所周知,狼人只有在满月之夜才会变成狼。 同时,月亮的大小随着时间变化,它的大小变化 3030 天为一循环。 它的变化情况(从第一天开始)为 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,13,12,1…...

什么是组态、组态的应用场景介绍
随着计算机技术和工业自动化水平迅速提高,而车间现场种类繁杂的控制设备和过程监控装置使得传统的工业控制软件无法满足用户的各种需求。在“组态”概念出现之前,工程技术人员需要通过编写程序来实现某一任务,不但工作量大、周期长࿰…...

Java项目: 基于SpringBoot+mybatis+maven实现的智能推荐卫生健康系统分前后台(含源码+数据库+开题报告+任务书+毕业论文)
一、项目简介 本项目是一套基于SpringBootmybatismaven实现的智能推荐卫生健康系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美…...

本地生活商城开发搭建 同城O2O线上线下推广
同城本地化商城目前如火如荼,不少朋友咨询本地生活同城平台怎么开发,今天商淘云与大家分享同城O2O线上商城的设计和开发。 本地生活商城一般会涉及到区域以及频道类,一般下单需要支持用户定位、商家定位,这样利于用户可以快速找到…...
41. 如何在MyBatis-Plus中实现批量操作?批量插入和更新的最佳实践是什么?
在 MyBatis-Plus 中,实现批量操作(如批量插入、批量更新)是非常常见的需求。MyBatis-Plus 提供了对批量操作的良好支持,可以通过多种方式实现高效的批量处理。下面详细介绍批量操作的实现方式以及最佳实践。 1. 批量插入 批量插入…...
LlamaIndex 的Node节点后处理器模块介绍
Node 后处理器模块 LlamaIndex 是一个旨在连接大型语言模型(LLMs)与外部数据的框架,允许开发者构建能够处理和回应复杂查询的应用程序。在这个框架内,NodePostProcessor 扮演着优化数据处理流程的重要角色。为了更好地理解 NodeP…...
Dubbo 如何使用 Zookeeper 作为注册中心:原理、优势与实现详解
Dubbo 是一个高性能的 Java 分布式服务框架,而 Zookeeper 常被用作 Dubbo 的服务注册中心。Zookeeper 提供了分布式一致性和协调服务,Dubbo 通过 Zookeeper 实现服务注册与发现功能,确保在分布式环境下服务实例的动态管理和可靠发现。 下面是…...

Linux:进程间通信之命名管道
Linux:进程间通信-CSDN博客 我们说匿名管道只能用于父子进程这样的关系通信,那么陌生进程怎么通信? 我们之前说父子进程能通信的最关键的地方就在于子进程复制了一份父进程的files_struct,从而通过文件的inode映射同一份文件来通…...

UE4_后期处理七—仿红外线成像效果
效果图展示: 参考文档:https://dev.epicgames.com/documentation/zh-cn/unreal-engine/using-fresnel-in-your-unreal-engine-materials?application_version5.4 二、所用知识点扩充 在创建电影或过场动画时,你常常需要想办法更好地突显角…...

静态路由和默认路由(实验)
目录 一、实验设备和环境 1、实验设备 2、实验环境 (1)实验拓扑图 (2)实验命令列表 二、实验记录 1、直连路由与路由表查看 步骤1:建立物理连接并运行超级终端。 步骤2:在路由器上查看路由表。 2、静态路由配置 步骤1:配…...

TCP: Textual-based Class-aware Prompt tuning for Visual-Language Model
文章汇总 存在的问题 原文:具有图像特定知识的图像条件提示符号在提升类嵌入分布方面的能力较差。 个人理解:单纯把"a photo of {class}"这种提示模版作为输入是不利于text encoder学习的 动机 在可学习的提示和每一类的文本知识之间建立…...

2024年软考网络工程师中级题库
1【考生回忆版】以下不属于5G网络优点的是(A) A.传输过程中消耗的资源少,对设备的电池更友好 B.支持大规模物联网,能够连接大量低功耗设备,提供更高效的管理 C.引入了网络切片技术,允许将物理网络划分为多个虚拟网络…...

CSS的盒子模型(Box Model)
所有HTML元素都可以看作盒子,在CSS中盒子模型是用来设计和布局的,CSS盒子模型本质上是一个盒子,分装周围的HTML元素包括:外边距,边框,内边距和实际内容。 Margin(外边距) 清除边框…...
用OpenSSL搭建PKI证书体系
1 创建PKI结构目录 mkdir 07_PKI cd 07_PKI mkdir 01_RootCA 02_SubCA 03_Client2 创建根CA cd 01_RootCA mkdir key csr cert newcerts touch index.txt index.txt.attr echo 01 > serial2.1 创建根CA密钥对 2.1.1 生成 长度为2048 bit 的RSA私钥。 cd key openssl gen…...

scp 命令:在两台主机间远程传输文件
一、命令简介 scp 命令使用 SSH 加密的方式在本地主机和远程主机之间复制文件。 二、命令参数 格式 scp [选项] 发送方主机和目录 接收方主机和目录注意:左边是发送方,右边是接收方。固定格式。 示例 #示例1 scp ~/test.txt soulio172.1…...

家用迷你洗衣机哪款质量高?五大热销高分单品强势来袭
迷你内衣洗衣机一般是为婴儿宝宝,或者一些有特殊需要的用户而设计使用的,宝宝衣物换洗频繁,而且对卫生方面的除菌要求高,而为避免交叉感染,所以一般不适合和大人的衣物放在一起洗,因此对于有宝宝的家庭来说…...
rpm 命令:RedHat底层包管理器
一、命令简介 rpm 是 Red Hat Package Manager 的缩写,是 Red Hat、CentOS、Fedora 等基于 Red Hat 的 Linux 发行版中用于管理和安装软件包的工具。它能够安装、卸载、升级、查询和验证软件包。 相关命令: rpm 是基础,提供了底层的软…...

Xilinx 使用DDS实现本振混频上下变频
文章目录 一、什么是混频?二、为什么要进行混频?三、Matlab实现混频操作四、FPGA实现混频上下变频操作4.1 例化IP4.2 仿真验证 一、什么是混频? 混频(Mixing)是信号处理中的一个核心概念,混频的本质是将两个…...

ClickHouse-Kafka Engine 正确的使用方式
Kafka 是大数据领域非常流行的一款分布式消息中间件,是实时计算中必不可少的一环,同时一款 OLAP 系统能否对接 Kafka 也算是考量是否具备流批一体的衡量指标之一。ClickHouse 的 Kafka 表引擎能够直接与 Kafka 系统对接,进而订阅 Kafka 中的 …...

PTA L1-071 前世档案
L1-071 前世档案(20分) 网络世界中时常会遇到这类滑稽的算命小程序,实现原理很简单,随便设计几个问题,根据玩家对每个问题的回答选择一条判断树中的路径(如下图所示),结论就是路径终…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...

深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...