Python每日一练:圆桌争风吃醋的豚鼠韩信点兵(全一行代码解法)

news2024/11/15 15:45:18

文章目录

  • 前言
  • 一、圆桌
  • 二、争风吃醋的豚鼠
  • 三、韩信点兵
  • 总结


前言

很显然,Python的受众远远大于C++,其实笔者本人对Python的理解也是远强于C++的,C++纯粹是为了假装笔者是个职业选手才随便玩玩的,借着十多年前学的C的功底,强行假装的。
因职业原因,Python更适用于运维、网络、AI方向,所以用得很多。最近假装职业码农装过头了,写点Python代码都习惯性加 ; 了,更离谱的是CSDN对笔者的能力判断中,C++一个劲地涨,Python都连能力都没了…
所以以后也要用Python来解解题,经常锻炼一下。


提示:昨天搞硬币划分没整一行代码,今天几题简单,正好又可以整活。

一、圆桌

在这里插入图片描述

题目描述:
有N个客人与足够多张的圆桌。主人安排每位客人坐在一个圆桌边,但是每位客人希望自己左右边上分别有一些空座位,不然会觉得害羞。注意,如果一个客人所在的圆桌只有他一个人,那么他左边的空座位数量就是他右边的空座位数量。 试问主人需要准备多少个座位,才能让每个客人舒适的坐下。

输入描述:
第一行输入一个整数N,(1<=N<=10000),代表客人的数量 接下来N行,每行两个整数li与ri,(1<=i<=N,1<=li<=ri<=1000000000) 代表第i位客人希望左边有li个空座位,右边有ri个空座位。

输出描述:
输出一个整数,代表主人需要准备的最少座位数量。

实话说吧~ 我小学语文是体育老师教的,阅读理解就没及格过,没看懂这题。没办法,只好去参考别人的思路,才搞明白是要做啥!
代码如下(示例):

class Solution:
    def __init__(self) -> None:
        pass
    
    def solution(self, n, vector):
    	# 不正经的一行写法
        result =sum([max(x,y) for x,y in zip(sorted([vector[i][0] for i in range(n)]),sorted([vector[i][1] for i in range(n)]))])+n

        # TODO: 请在此编写代码
        
        return result

if __name__ == "__main__":

    n = int(input().strip())
    vector = []
    for i in range(n):
        vector.append([int(item) for item in input().strip().split()])
    sol = Solution()
    result = sol.solution(n, vector)
    print(result)

我写的就这一行:
result =sum([max(x,y) for x,y in zip(sorted([vector[i][0] for i in range(n)]),sorted([vector[i][1] for i in range(n)]))])+n
其它都是为了水字数!
按惯例要给个正经代码的写法的,不过我把这一行给拆出来后,竟然只有40分…不知道是不是不正经的代码写多了,正经的已经不会写了,所以省略正经代码了。

二、争风吃醋的豚鼠

题目描述:
N个节点两两建边。 不存在3个节点相互之前全部相连。(3个节点连接成环) 最多能建立多少条边?

输入描述:
输入整数n.(1<=n<=1e5)

输出最大边数

代码如下(示例):

class Solution:
    def __init__(self) -> None:
        pass
    
    def solution(self, n):
        result = int(n/2*(n-n/2))

        # TODO: 请在此编写代码

        return result

if __name__ == "__main__":

    n = int(input().strip())    
    sol = Solution()
    result = sol.solution(n)
    print(result)

这回我不说它一行是不正经的了!不过这公式是哪来的呢?也就不要图了吧…

三、韩信点兵

题目描述:
韩信是中国古代伟大的军事家和统帅,他有一种独特的点兵方法:每个军队由若干个士兵组成,并且每个士兵有一个编号。 当韩信需要点兵时,他会给定一个正整数 K K K,表示点兵的人数。然后他会按照如下方式点兵: 1. 首先将所有士兵排成一列,编号依次为 1 , 2 , 3 , . . . , n 1,2,3,...,n 1,2,3,...,n。 2. 从第 1 1 1 个士兵开始,每隔 K K K 个士兵,就取出一个士兵。 例如,当 n = 10 n=10 n=10 k = 3 k=3 k=3 时,韩信会按照以下方式点兵: 1 4 7 10 你的任务是,给定 n n n k k k,求出韩信点兵的顺序。

输入描述:
第一行包含两个整数 n n n k k k,其中 n n n 表示士兵的数量, k k k 表示点兵的人数。

输出描述:
输出一行,包含 n n n 个整数,表示韩信点兵的顺序。

示例:
输入
10 3

输出
1 4 7 10

代码如下(示例):

class Solution:
    def __init__(self) -> None:
        pass
    
    def solution(self, n, k):
        result = [str(i) for i in range(1,n+1,k)]

        # TODO: 请在此编写代码
        #print(n,k)
        #print(t)
        return result

if __name__ == "__main__":

    arr_temp = [int(item) for item in input().strip().split()]
    
    n = int(arr_temp[0])
    k = int(arr_temp[1])
    sol = Solution()
    result = sol.solution(n, k)
    print(" ".join(result))

在这里插入图片描述

嗯,不知道是不是我的阅读理解有问题…以上写法只通过了示例,实际是0分…我又用C++试了一样的逻辑,结果也一样只能通过示例。
我还偷看了测试的一组数据是 490 30
我输出的是:[‘1’, ‘31’, ‘61’, ‘91’, ‘121’, ‘151’, ‘181’, ‘211’, ‘241’, ‘271’, ‘301’, ‘331’, ‘361’, ‘391’, ‘421’, ‘451’, ‘481’],转换成字符串是为了原代码print(" ".join(result))能正确输出。


总结

状态不好,随便水了几题。我感觉第三题是题目有问题。如果有同鞋知道是什么原因,请留言指出为谢!

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

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

相关文章

01、爬虫js逆向之-七麦数据

目标网址&#xff1a;aHR0cHM6Ly93d3cucWltYWkuY24vcmFuay9pbmRleC9icmFuZC9hbGwvZGV2aWNlL2lwaG9uZS9jb3VudHJ5L2NuL2dlbnJlLzM2 &#xff08;需要进行ba64解码即可获取到参数&#xff09; 需要逆向的加密参数&#xff1a;analysis 1、点击数据接口&#xff0c;触发请求 2、点…

2022年NOC大赛编程马拉松赛道复赛图形化低年级A卷-正式卷,包含答案

目录 选择题: 多选题: 编程题: 下载文档打印做题: 2022年NOC大赛编程马拉松赛道复赛图形化低年级A卷-正式卷 2022NOC-图形化复赛低年级A卷正式卷

天地气运流转,皆在五行生克中

在中国的传统文化里&#xff0c;常讲“气运”二字&#xff0c;把两字分开&#xff0c;便是气数与命运。 在现代人的观念里&#xff0c;气运是个复杂又抽象的概念。 天地五行之气轮流转&#xff0c;一切都在五行生克中。 而古人的方法&#xff0c;是通过五行的变化来描述气运的流…

Promise类方法

这篇主要讲一下Promise的类方法的基本使用&#xff0c;至于Promise的基本使用这里就不赘述了&#xff0c;之前也有手写过Promise、实现了Promise的核心逻辑。其实我们平时用Promise也挺多的&#xff0c;不过又出现了两个新的语法&#xff08;ES11&#xff0c;ES12新增了两个&am…

Gradle使用

下载Gradle Gradle Distributions 配置环境变量 测试是否成功 cmd输入gradle -v 在.gradle目录下创建一个init.gradle allprojects { repositories { maven { url file:///D:/maven/myRepository} ## 这里是本地maven仓库地址,没有就会依次向下设置的地址寻…

wisp5学习日记1

这里写目录标题 编译工程问题一 LSD-FET430UIF仿真器排针方向与所给排针方向示意图不一致&#xff0c;不知怎么方向问题2 拟器或仿真器无法找到连接到计算机的USB FET 编译工程 鼠标右键选择build project 问题一 LSD-FET430UIF仿真器排针方向与所给排针方向示意图不一致&…

【Java基础 2】Java 基础语法

&#x1f34a; Java学习&#xff1a;社区快速通道 文章目录 1 变量与基本数据类型1.1 变量1.2 数据类型1.3 标识符1.4 类型转换1.5 关键字大全 2 二进制概述3 方法4 运算符4.1 算术运算符4.2 赋值运算符4.3 关系运算符4.4 逻辑运算符4.5 字符串连接运算符4.6 三目运算符 5 命名…

配置JDK环境变量

文章目录 查看电脑系统下载及安装JavaSE配置系统环境变量测试环境变量配置是否成功。 查看电脑系统 运行输入框中输入&#xff1a;control 下载及安装JavaSE 这个从网上下载就行&#xff0c;jdk-8u141-windows-x64.exe&#xff0c;不提供下载方式了。 主要讲解安装过程&a…

AI 工具合辑盘点(十二)持续更新 之 面向学生群体的 AI 工具和面向所有人的 AI 工具

面向学生群体的 AI 工具 人工智能在教育领域可以发挥多种作用。例如&#xff0c;它可以用于个性化课程、检测抄袭、转录讲座和促进教师与学生之间的快速沟通等等。 教育面临着许多挑战&#xff0c;这些人工智能工具可以帮助教师和学生。这些 AI 可以替代手动工作、降低人为错…

图解HTTP

文章目录 第一章、了解web及网络基础HTTP 的诞生网络基础 TCP/IPTCP/IP 协议族层次化的好处应用层传输层网络层链路层&#xff08;又名数据链路层&#xff0c;网络接口层&#xff09; 数据传输流举例&#xff1a; 与HTTP关系密切的协议&#xff1a;IP、TCP和DNS负责传输的 IP 协…

Simulink 自动代码生成电机控制:开发板DAC接口辅助调试的方法

目录 前言 DAC基本原理 PWM模拟DAC DAC底层代码配置 DAC调试演示 总结 前言 DAC是比较常用的数字转模拟单元&#xff0c;通过给定数字量&#xff0c;输出一个模拟信号&#xff0c;有比较广泛的用途&#xff0c;在这里只讨论DAC作为一个调式手段帮助打印出电机控制里面的一…

【大学物理实验】实验报告数据

写在前面&#xff1a; 1&#xff1a;本文章收集CAU的18个大学物理实验的实验数据&#xff0c;仅供参考。&#xff08;因为本人很讨厌竞速实验orz&#xff09; 2&#xff1a;实验之间的差距&#xff0c;不如负责老师之间的差距。以及需要考虑机考的虚拟实验你会不会做。&#…

Linux内核驱动开发(二)

LED设备驱动 LED基本硬件原理&#xff08;以QT210为例&#xff09; 通过配置GPIO&#xff0c;把相应的GPIO设置成高电平或低电平&#xff0c;达到点灯。 LED设备驱动的代码 leds_create_device 初始化设备 核心数据结构初始化 设备号 major>0 &#xff1a;指定了设备号…

nexus工作原理及项目配置注意事项

一、nexus工作原理图 私服搭建&#xff0c;可以参考下面链接&#xff1a; 搭建Maven私服Nexus3_石工记的博客-CSDN博客 二、项目配置注意事项&#xff08;两个配置&#xff09; 1.maven中settings的两个配置&#xff1a;添加<server/>&#xff08;不必需项&#xff09…

哈夫曼编码

哈夫曼编码 基本介绍 赫夫曼编码也翻译为 哈夫曼编码(Huffman Coding)&#xff0c;又称霍夫曼编码&#xff0c;是一种编码方式, 属于一种程序算法赫夫曼编码是赫哈夫曼树在电讯通信中的经典的应用之一。赫夫曼编码广泛地用于数据文件压缩。其压缩率通常在20%&#xff5e;90%之…

Variable used in lambda expression should be final or effectively final

场景描述 我们在使用Java8 lambda表达式的时候时不时会遇到这样的编译报错&#xff1a; 这句话的意思是&#xff0c;lambda 表达式中使用的变量应该是 final 或者有效的 final&#xff0c;为什么会有这种规定&#xff1f; 匿名类中的局部变量 其实在 Java 8 之前&#xff0…

【iOS】—— RunLoop线程常驻和线程保活

文章目录 没有线程常驻会怎么样&#xff1f; 线程常驻线程保活 没有线程常驻会怎么样&#xff1f; 我们一般写一个子线程&#xff0c;子线程执行完分配的任务后就会自动销毁&#xff0c;比如下面这个情况&#xff1a; 我们先重写一下NSThread里面的dealloc方法&#xff0c;打印…

如何在测试中让H2支持JSONB

如今在开发系统时&#xff0c;有各种各样的数据库供我们选择。之前我们在博客基于MariaDB4j实现持久层单元测试介绍了使用MariaD4j代替作为MySQL的替身执行单元测试&#xff0c;但是并不是所有的数据库都能找到合适的替身来执行单元测试。 今天作者在写测试的过程中就遇到了一…

AutoSar标准官网下载

文章目录 打开官方网站ECU的开发基本遵循标准为Classic Platform选择相应模块&#xff0c;此框图链接为最新标准&#xff0c;也可在下方选择历史版本跳转进来后&#xff0c;可以选择下载所有文档&#xff0c;也可以按需下载Autosar文档命名&#xff1a;AUTOSAR类型模块名称 打开…

2023 年 3 月青少年机器人技术等级考试理论综合试卷(六级)

2023 年 3 月青少年机器人技术等级考试理论综合试卷&#xff08;六级&#xff09; 一、单选题(共 20 题&#xff0c;共 80 分) 1. ESP32 for Arduino I C 类库的成员函数 beginTransmissio()中&#xff0c;下列描述正确的是&#xff1f;&#xff08; C&#xff09; A. 初始化&a…