- 博客(17)
- 收藏
- 关注
转载 Python标准库中的生成器函数
一、用于过滤的生成器函数 - 从输入的可迭代对象中产出元素的子集,而不修改元素本身import itertoolsl1 = [1,2,3,4,5]l2 = [True,False,True,False,True]def predict(k): return l2[k-1]# compress(it,selector_it)并行处...
2019-04-10 21:44:00
150
转载 序列的修改、散列和切片
Vector第1版(不可切片版):from array import arrayimport reprlibimport mathclass Vector: type_code = 'd' def __init__(self,components): self._components = array(se...
2019-03-24 15:52:00
149
转载 符合Python风格的对象
array和bytes的转换 - 每个array必须有一个type_code,以此为依据解析底层字节序列 - array有一个frombytes方法,可以把字节序列按type_code转换成Array -bytes构造函数接受一个可迭代对象作为参数,它依次遍历可迭代对象,将每个元素按其本身的数据类型拆成字节from array import array...
2019-03-18 20:45:00
139
转载 对象引用、可变性和垃圾回收
变量不是盒子,它是对象的标识 - 标识、相等性和别名charles = {'name':'Chales L.Dogson','born':1832}lewis = charlesalex = {'name':'Chales L.Dogson','born':1832}# lewis是charles的别名,is比较的是两个对象的idprint('c...
2019-03-16 15:29:00
176
转载 函数装饰器和闭包
装饰器基础知识 - 装饰器是可调用对象,其参数是另一个函数 - 装饰器会处理被装饰的函数,然后把它返回,或者将其替换成另一个函数或可调用对象def deco(func): def inner(): print("inner is called") return inner@decodef func(): pr...
2019-03-05 21:44:00
97
转载 一等函数
一等函数满足: - 在运行时创建 - 能赋值给变量或数据结构中的元素 - 能作为参数传给函数 - 能作为函数的返回结果把函数视作对象,并通过参数传递:def factorial(n): if n<2: return 1 else: return n*factorial(n-1)...
2019-02-20 21:45:00
157
转载 字典和集合
字典构造方法:a = dict(one=1, two=2, three=3)b = {'one':1, 'two':2, 'three':3}c = dict(zip(['one','two','three'],[1,2,3]))d = dict([('one',1),('two',2),('three',3)])e = dict({'one':1, 'two':...
2018-10-29 22:20:00
148
转载 序列构成的数组
序列类型的划分: 第一种划分: -容器序列:可以存放不同类型的数据,存放的是引用 - list、tuple、collections.deque -扁平序列:只能存放一种类型的数据,存放的是值 - str、bytes、bytearray、memoryview、array.array 第二种划分: - 可变序列:内容可...
2018-10-19 21:42:00
156
转载 POJ1095 Trees Made to Order(JAVA)
这题用到了卡特兰数,比较麻烦。关于卡特兰数的基本概念百度一下你就知道。使用卡特兰数对数组元素进行分组之后,需要具体计算一下要求的是第几组的第几个数,然后向下递归。首先来看利用卡特兰数分组: 从1开始前4个卡特兰数是 C[1]=1, C[2]=2, C[3]=5, C[4]=14 (C[0]也是有定义的,C[0]=1) 于是我们把第1个元素归为第1组,第2,3个元素归...
2018-10-15 14:53:00
149
转载 Python 魔术方法
Python解释器碰到特殊句法时,会使用魔术方法去激活一些基本的对象操作,这些特殊方法的名字以两个下划线开头,以两个下划线结尾 - 举例:obj[key]背后就是__getitem__方法 - 没有实现__getitem__方法,无法使用[]获取类中的dict1 class A:2 adict = dict(one=1,two=2)3 4 a = ...
2018-10-11 22:32:00
118
转载 JAVA输入随笔
做题时经常遇到输入的问题,很麻烦写一点点自己对于输入的随笔,以备后查这里都以整数为例,其他类型的话换成相应方法就行了1、知道一共多少行,每一行只有一个整数这是比较简单的输入,可以用Scanner或者BufferedReader读,需要的话再进行强制转换Scanner sc = new Scanner(System.in);for(int i=0;i<n;...
2018-09-29 21:47:00
99
转载 POJ3321 Apple Tree (JAVA)
树形数组题,有一定难度。首先得搞清楚树形数组是什么 - 它是建立在原始数组上的统计数组 - 目的:方便对原始数组进行切片统计,主要用于统计切片的累加和其实你可以对切片进行扫描,把元素一个一个加起来,也能计算出累加和。但是,重点是,比如我要多次统计1到1000万个数据的和,其中一个数据被改动了,就得重新把1到1000万个数据加一遍,时间复杂度很高。万能(恶)的科...
2018-09-28 16:37:00
196
转载 POJ1330 Nearest Common Ancestors (JAVA)
经典LCA操作。。贴AC代码import java.lang.reflect.Array;import java.util.*;public class POJ1330 { // 并查集部分 static int[] p; static int find(int u){ if(p[u]!=u){ ...
2018-09-26 14:16:00
185
转载 POJ2299 Ultra-QuickSort (JAVA)
思路是分治,和归并排序一模一样,只是在归并的过程中,顺便统计后半部分序列比前半部分序列小的有多少个但一直WA,最后是结果数量比较大,会超过int,用long就ac了。。做题真坎坷贴AC代码import java.util.*;public class POJ2299 { static int[] arr; // 交换数组中的两个元素 ...
2018-09-20 11:36:00
209
转载 POJ3349 Snowflake Snow Snowflakes (JAVA)
首先声明代码并没有AC,内存超了但我对此无能为力,有没有哪位大神好心教一下怎么写哈希,然后比较花瓣数组,这些应该都没问题才对。。唉。。贴MLE代码import java.util.*;public class POJ3349 { static int N = 1200007; public static class HashNode{ ...
2018-09-17 14:42:00
153
转载 POJ1591 M*A*S*H (JAVA)
这水题,真的坑测试数据最后有空行,如果用sc.hasNextLine()判断,会RE要改为sc.hasNext()搞了我一上午,烦死import java.util.*;public class POJ1591 { static Scanner sc = new Scanner(System.in); static int N=20; ...
2018-09-13 11:32:00
154
转载 POJ2259 Team Queue (JAVA)
第一次TLE,对每个group重新设置Queue中定位,定位到每个group的最后一个元素,但WA经过检查,DEQUEUE时没有根据情况重新计算group,插入时没有根据情况重新给last赋值贴AC代码import java.util.*;public class POJ2259 { static class Member{ String...
2018-09-12 10:03:00
356
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人