9.桶排序9.1算法思想桶排序假设待排序的一组数均匀独立的分布在一个范围中,并将这一范围划分成几个子范围(桶)。然后基于某种映射函数f(高效与否的关键就在于这个映射函数的确定),将待排序列的关键字k映射到第i个桶中(即桶数组B的下标i),那么该关键字k就作为B[i]中的元素。接着将各个桶中的数据分别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排)。然后依次枚举输出B[0]….B[M]中的全部内容即完成了一个数组的桶排列。ps:桶排序可以有
系统 2019-09-27 17:49:44 2165
lambda是表达式,用于创建匿名函数,可以和filter、map、reduce配合使用。本文环境Python3.7。一、lambda表达式lambda只包含一个语句,用于创建匿名函数。语法:lambda[arg1[,arg2,.....argn]]:expressionarg1--参数,可以有多个expression--表达式使用例子:f1=lambdax:x>10print(f1(1))#输出:Falseprint(f1(11))#输出:Truef2=
系统 2019-09-27 17:49:17 2165
文章目录160.相交链表(链表)232.用栈实现队列69.x的平方根(二分法)215.数组中的第K个最大元素(快排)347.前K个高频元素(桶排序)378.有序矩阵中第K小的元素(排序)1051.高度检查器(排序)17.电话号码的字母组合(递归)241.为运算表达式设计优先级(分治)455.分发饼干(贪心)160.相交链表(链表)把两个链表连起来,不断遍历,相等停下!classSolution(object):defgetIntersectionNode(
系统 2019-09-27 17:49:15 2165
上集回顾上一节学习了转义字符的用法,作为基础内容一定要记忆好,多看几遍。提问输入和打印结果没有问题,重点是input语句的使用,input后面跟着的字符串是用来提示用户输入而打印再屏幕上的,用户输入的内容存放在前面的变量中,然后可以对这个保存着用户输入的变量进行操作。主语print语句中end=‘’的用法,意思是不让用换行符跑到下一行,也就是直接再这一行输入内容。直接把提示内容放在input语句中也能实现同样的功能。巩固练习1、网上查input的功能查询得
系统 2019-09-27 17:47:20 2165
decode()方法使用注册编码的编解码器的字符串进行解码。它默认为默认的字符串编码。语法以下是decode()方法的语法:str.decode(encoding='UTF-8',errors='strict')参数encoding--这是所使用的编码。对于所有的编码方案的列表,请访问:标准编码库errors--这可能是给定一个不同的错误处理机制。默认的错误是“严格”,即编码错误提出UnicodeError。其他可能的值是ignore','replace'
系统 2019-09-27 17:47:20 2165
面试被问到了却没有用过,很尴尬;今天看了一下,真的是一个很简单的测试模块方便起见,这里直接拿菜鸟教程的介绍和例子过来开发高质量软件的方法之一是为每一个函数开发测试代码,并且在开发过程中经常进行测试;doctest模块提供了一个工具,扫描模块并根据程序中内嵌的文档字符串执行测试;测试构造如同简单的将它的输出结果剪切并粘贴到文档字符串中;通过用户提供的例子,它强化了文档,允许doctest模块确认代码的结果是否与文档一致;defaverage(values):
系统 2019-09-27 17:47:00 2165
S=Sum(Ai*Wi),i=0,.......16(现在的身份证号码都是18位长,其中最后一位是校验位,15位的身份证号码好像不用了)Ai对应身份证号码,Wi则为用于加权计算的值,它一串固定的数值,应该是根据某种规则得出的吧,用于取得最好的随机性,Wi的取之如下:7910584216379105842经过加权计算之后,得到一个S,用这个S去模11,取余值,然后查表得到校验位,这个索引表如下:0-----11-----02-----x3-----94---
系统 2019-09-27 17:46:48 2165
strptime()方法分析表示根据格式的时间字符串。返回值是一个struct_time所返回gmtime()或localtime()。格式参数使用相同的指令使用strftime();它默认为“%a%b%d%H:%M:%S%Y”相匹配的ctime()所返回的格式。如果字符串不能按格式进行解析,或者如果它具有解析后多余的数据,ValueError被挂起。语法以下是strptime()方法的语法:time.strptime(string[,format])参数
系统 2019-09-27 17:46:38 2165
并发与锁多个线程共享数据的时候,如果数据不进行保护,那么可能出现数据不一致现象,使用锁,信号量、条件锁互斥锁1.互斥锁,是使用一把锁把代码保护起来,以牺牲性能换取代码的安全性,那么Rlock后必须要relase解锁不然将会失去多线程程序的优势2.互斥锁的基本使用规则:importthreading#声明互斥锁lock=threading.Rlock();defhandle(sid):#功能实现代码lock.acquire()#加锁#writercodein
系统 2019-09-27 17:45:51 2165
python3.7使用pymssql往sqlserver插入数据importpymssqlconn=pymssql.connect(host='szs',server='SZS\SQLEXPRESS',port='51091',user='python',password='python',database='python',charset='utf8',autocommit=True)cur=conn.cursor()sql="insertinto[no
系统 2019-09-27 17:45:29 2165