![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 55
#Super Pig
这个作者很懒,什么都没留下…
展开
-
Linux下python/pip/numpy/tensorflow安装流水记
安装踩坑记录原创 2023-02-07 14:11:15 · 1117 阅读 · 1 评论 -
【编程练习】木桩
题目来源:牛客挑战赛第一题题目描述题解思路:只考虑一个小木桩(记作b),假设b前面有x个大木桩,后面有y个大木桩,那么,这个小木桩b能够带来的美观值为xy-x,即x(y-1)。又因为x+y=a,所以很容易得到当y为ceil((a+1)/2)时,x*(y-1)最大。一共有b个小木桩,所以最大的美观值就是bx(y-1),其中y=ceil((a+1)/2),x+y=a。代码如下:import mathdef main(): T = int(input()) for i in ra.原创 2022-04-17 16:25:22 · 198 阅读 · 0 评论 -
【编程练习】视力表
题目来源:牛客,阿里巴巴编程题(2星),第10题题目描述题解这道题的本质就是实现Cnm\text{C}_n^mCnm,ans = CN2a\text{C}_{N^2}^aCN2a+CN2−ab\text{C}_{N^2-a}^bCN2−ab+CN2−a−bc\text{C}_{N^2-a-b}^cCN2−a−bc。代码如下:import mathp = 998244353def power(x,y): #求x的y次方 global p res = 1 .原创 2022-04-12 10:35:49 · 719 阅读 · 0 评论 -
【编程练习】牛牛的方格图
题目来源:牛客小白月赛47,第E题【前4题都比较简单】题目描述题解思路:1)首先需要想清楚,如何框定某种颜色的覆盖范围?以下列方格图为例:1 3 3 43 2 1 46 3 3 4对于颜色3而言,一共有2种典型的覆盖方式:从(2,1)到(3,3) 和 从(2,1)到(3,1);这两种覆盖方式涵盖了颜色3所能覆盖的最大面积。从中可以发现,某个颜色所能覆盖的最大范围,其实由该颜色的min_x、min_y、max_x、max_y决定;2)如何标记覆盖范围?覆盖范围其实由以(min_x,mi.原创 2022-04-10 19:29:14 · 1350 阅读 · 0 评论 -
【编程练习】蚂蚁森林之王
题目来源:牛客,阿里巴巴编程题(2星),第8题题目描述题解倒序遍历。记录每个动物的粉丝数量,这里的粉丝数量存在累计,例如:3崇拜2,2崇拜1,那么1就有2个粉丝。从编号最大的动物开始,更新粉丝数量。而每个动物能得到的最高票数就等于粉丝数量加1。代码如下:⚠️注意,当动物i没有崇拜者时,需跳过该动物,不然就累加到最后一个动物的粉丝数量上了。def main(): n = int(input()) obj = [int(i) for i in input().split()].原创 2022-04-09 09:48:54 · 317 阅读 · 0 评论 -
【编程练习】小强的神器矩阵
题目来源:牛客,阿里巴巴编程题(2星),第7题题目描述题解法一:错误方法🙅♂️想用贪心去解,但解法是错的,代码如下:def main(): n = int(input()) a1 = [int(i) for i in input().split()] a2 = [int(i) for i in input().split()] a3 = [int(i) for i in input().split()] l1 = [a1[0],a2[0],a3[0].原创 2022-04-08 09:20:47 · 244 阅读 · 0 评论 -
【编程练习】国际交流会
题目来源:牛客,阿里巴巴编程题(2星),第6题题目描述题解思路比较简单,将n个member按从小到大的顺序排列,分成small和big两部分【若n为奇数,则small的长度比big多1】,再将big逆序,穿插合并small和big即可。代码:import mathdef main(): n = int(input()) member = [int(i) for i in input().split()] member.sort() small = membe.原创 2022-04-07 10:57:25 · 96 阅读 · 0 评论 -
【编程练习】小强修水渠
题目来源:牛客,阿里巴巴编程题(2星),第5题题目描述题解法一:中位数水渠的位置是序列中的中位数。证明如下:虽然不是很理解,但可以当个结论记住吧。代码:def main(): n = int(input()) ans = 0 xlist = [] for i in range(n): xi,yi = map(int,input().split()) xlist.append(xi) xlist.sort() .原创 2022-04-06 14:27:55 · 265 阅读 · 0 评论 -
【编程练习】比例问题
题目来源:牛客,阿里巴巴编程题(2星),第4题题目描述题解思想:先化简a/b至俩质数之比。那么,x/y = a/b*m。又因为x和y需要小于A和B,且x和y的乘积最大。这意味着m需要满足:x和y是小于A和B的最大值。这里,m存在两种可能性:1)x是小于A的最大值:m1=int(A/a),x1=m1a,y1=m1b;2)y是小于B的最大值:m2=int(B/b),x2=m2a,y2=m2b;现在就需要判断,应该选取m1还是m2:当y1大于等于B时,m1被排除;当x2大于等于A时,m2被排除.原创 2022-04-05 20:06:16 · 306 阅读 · 0 评论 -
【编程练习】小强去春游
题目来源:牛客,阿里巴巴编程题(2星),第3题题目描述从样例就可以看出,在选择由谁往回划的时候有两种选择方法。对样例1([2,10,12,11])来说,每次都由最轻的人往回划,这种方法是最省时的;对样例2([2,3,7,8])来说,如果每次都由最轻的人往回划,这种方法的耗时为22,而样例2给的答案是19。这时需要转换思路,先搞清楚19是怎么来的:令time=0;第一次“往”:2和3一起,time+=3;第一次“返”:2独自回来,time+=2;第二次“往”:7和8一起,time+=.原创 2022-04-03 17:33:54 · 848 阅读 · 0 评论 -
【编程练习】选择物品
题目来源:牛客,阿里巴巴编程题(2星),第2题题目描述题解法一:很绕的想法自认为本质是实现n进制的加法,但觉得很难实现,便借助了进制转换。思想:以n=8,m=5为例。最小的输出(minn)肯定是“1 2 3 4 5”,最大的输出(maxn)是“4 5 6 7 8”。为了计数方便,借助了映射转换:minn其实可以映射为“0 0 0 0 0”,而maxn可以映射为“3 3 3 3 3”,映射到4进制空间。所以,输出其实可以看做5位(m位)4进制(n-m+1进制)数,即“a0 a1 a2 a3.原创 2022-04-01 22:45:01 · 270 阅读 · 0 评论 -
【编程练习】完美对
题目来源:牛客,阿里巴巴编程题(2星),第1题题目描述题解法一:暴力解法【必然超时😅】好歹也是一个字一个字敲出来的,记录一下def isPerfect(a,b,k): base = a[0]+b[0] for i in range(1,k): if base==a[i]+b[i]: continue else: return 0 return 1def main(): ans .原创 2022-04-01 16:24:18 · 653 阅读 · 0 评论 -
【编程练习】第K小子串
题目来源:牛客,腾讯2021校园招聘技术类编程题汇总 第2题题目描述:题解:法一:个人解法✨利用python中的set+list.sort(),感jio有点无耻。💡唯一一点想法是:第k小的子串的长度必然小于等于k,因此,只需要将字符串s中长度小于等于k的所有子串拿出来并排序即可。⚠️注意,由于子串可能会重复,因此借助了set去重。🔥再注意,之前的一个错误想法是:当subs中存储的子串数量大于k时就可以停止收集子串,但这种想法是错的,因为前k小的子串可能出现在很后面。def main().原创 2022-03-31 20:03:03 · 1250 阅读 · 0 评论 -
python程序退出:os._exit() 和 sys.exit()
概述Python程序有两种退出方式: os._exit() 和 sys.exit()。我查了一下这两种方式的区别。os._exit() 会直接将python程序终止,之后的所有代码都不会执行。sys.exit() 会抛出一个异常: SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获该异常的代码,那么这些代码还是会执行。举个例子import os ...转载 2018-11-18 17:56:45 · 203 阅读 · 0 评论 -
Python学习----repr()函数
描述repr()将对象转化为便于解释器读取的形式eg:>>>s = 'Bob'>>> repr(s)"'Bob'"repr() & str()对比两者都可以将任何对象转化为字符串但是repr()服务的对象是 解释器,即repr()输出的字符串一般可以用eval()得到重新得到原来的结果,也可以用eval()求值str()服务...原创 2018-11-25 20:17:22 · 262 阅读 · 0 评论 -
Python学习----标准流stdin&stdout&stderr
描述sys.stdin ---- 标准输入函数,类似于input()sys.stdput----标准输出函数,类似于print()sys.stdin vs input()sys.stdin.readline() 用于读取一行文本输入,直到按回车,注意,使用该函数时,回车符也被读入>>> import sys&gt原创 2018-11-25 21:31:08 · 2544 阅读 · 2 评论 -
python学习----pickle模块
描述pickle模块可以将内存中的Python对象转化成序列化的字节流,这是一种可以写入任何类似文件对象的字节串;pickle模块也可以根据序列化的字节流重新构建原来内存中的对象,即转换为原来的内存中的那个对象;方法pickle.dump()----把字节流以文件的形式保存进内存(序列化)eg:>>>import pickle>>>db=o...原创 2018-11-26 19:28:25 · 390 阅读 · 0 评论 -
Python学习----shelve模块
描述shelve自动地将对象pickle进、pickle出文件,可以看做一个可以持久化保存的字典方法假设内存中有一个文件Students,该文件下存储着每个学生(例如:Bob、Sue、Lily…)的信息(例如:name、age、gender、score…)访问学生信息>>>import shelve>>>stu=shelve.open('Stud...原创 2018-11-26 19:47:58 · 141 阅读 · 0 评论 -
python学习----msvcrt模块
描述当stdin流被重定向到文件或管道时,只能获取输入源文本,无法再用它读取用户交互输入。要实现stdin接收输入并利用console作为用户交互,需要使用特殊的借口从键盘,而非标准输入,直接读取用户输入。python标准库msvcrt模块提供了该功能。方法控制输入输出( console I/O )msvcrt.putch(char) 用于没有缓存地输出一个字节型char,且不会...原创 2018-12-06 20:20:57 · 23147 阅读 · 3 评论 -
python学习----io模块
简介io模块用于处理不同类型的i/o,主要的i/o类型:text I/O,binary I/O,raw I/OStringIO简介:An in-memory stream for text I/O. 它将创建一个文件对象接口和内存字符串相映射。相当于一个缓存。用法:write、read、readline、readlines、getvaluewrite方法可以在字符串中保存写入的文本,...原创 2018-12-09 10:41:03 · 332 阅读 · 0 评论 -
Python if else 4种写法
转自:https://www.cnblogs.com/xiexiaoxiao/p/7772441.html第1种:__就是普通写法a, b, c = 1, 2, 3if a>b: c = aelse: c = b第二种:一行表达式,为真时放if前c = a if a>b else b第三种:二维列表,利用大小判断的0,1当作索引c= [b, a...转载 2019-04-06 21:20:11 · 4399 阅读 · 0 评论 -
python try/except/finally详解
try/except介绍与其他语言相同,在python中,try/except语句主要是用于处理程序正常执行过程中出现的一些异常情况,如语法错(python作为脚本语言没有编译的环节,在执行过程中对语法进行检测,出错后发出异常消息)、数据除零错误、从未定义的变量上取值等;而try/finally语句则主要用于在无论是否发生异常情况,都需要执行一些清理工作的场合,如在通信过程中,无论通信是否发生错...转载 2018-11-18 17:54:27 · 2802 阅读 · 1 评论