前两天在 xue.cn 体验答题挑战,我有道题做错了,却不明白错在哪里.题目大概如下,代码运行后将打印什么? if True or False and False: print('1') else: print('2') 这个题目考察两个简单的知识点,一个是布尔运算,另一个是流程控制语句.结果是 1,我则选了2. 复盘我的解题思路.先是布尔运算部分,我把 True or False and False 的结果算成 False,于是代码简化为: if False: print('1') else:…
博主之前在学习 python 的数据结构与算法的基础知识,用的是<problem-solving-with-algorithms-and-data-structure-using-python> .但是仅仅看书对于知识的理解不够深入.于是选择了 lintcode 刷题,本篇博客即为最近做的算法题的一则小结. lintcode 的界面非常干净,还有中文版本的.博主的刷题的顺序为从入门开始,逐步深入,并不集中刷某块的题目.入门的8道题目都刷了,从简单开始优先做热点题(热点不分优先级). 一 矩阵…
本篇博客对最近做的链表的算法题做个简单的小结,主要描述题目和提供解题思路,具体代码见我的 github:https://github.com/MUSK1881/lintcode-by-python 36. 翻转链表 II(中等) 描述 翻转链表中第m个节点到第n个节点的部分 样例 给出链表1->2->3->4->5->null, m = 2 和n = 4,返回1->4->3->2->5->null 思路 新建链表头,在第 m 个节点前打断,在第…
1 爬楼梯(Fibonacci) #有一楼梯共M级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? def fun(m): c = [0]*m c[0] = 1 c[1] = 2 for i in range(2,m): c[i] = c[i-1]+c[i-2] return c[m-1] print(fun(3)) 2最长公共子序列长度 def lcs(x,y,m,n): c = [[0]*(n+1)]*(m+1) print(len(c),len(c[0])) for i in r…
感觉到刷题宝有一个好处,也许也不是好处,它的答案必须是真正输出的值,也就是说应该输出字符串aaaa的时候,答案必须写成界面上返回的值,即'aaaa'.有利于真正记忆返回值类型,但是....太繁琐了 1.getattr():python自省函数,用于查看某对象是否具有某种属性并返回属性值或者末字符串,参数格式(一个对象, 属性名称字符串, 不存在时输出的字符串),举个例子: class A: def __init__(self): self.name = 'hahahaha' a = A() pr…
最近加入了python部落,感觉里面的刷题宝很有意思,玩了一下,知道了许多以前并不清楚的内置函数,然后感觉到快要记不住了,所以开始陈列一下 1.divmod(a,b):取a除以b的商和余数,功效等价于(a//b, a%b); 2.dir():参数为函数名,类名.它会告诉我们对应函数包含有什么参数 3.enumerate:遍历列表时同时生成了序号,举个例子: a = [1, 2, 3] for index,item in enumerate(a): print index print item 4…
声明:本文以学习为目的,请不要影响他人正常判题 HDU刷题神器,早已被前辈们做出来了,不过没有见过用python写的.大一的时候见识了学长写这个,当时还是一脸懵逼,只知道这玩意儿好屌-.时隔一年,决定自己实现这个功能. 96名,没有再继续刷(,,,已经被管理员发现啦) 首先对辛苦刷题的acmer和hdu的管理员道歉,各位,抱歉. 介绍整体思路: 整体用多线程:线程执行从爬代码到提交的全部过程 分层次:对搜索引擎搜索的结果,进行划分,分层爬取 局部思路: 爬取搜索引擎得到的与题目相关的url,得到…
附注: 1.  Python中的按位运算符是把数字看作二进制来进行计算的.Python中的按位运算法则如下: 按位与   ( bitwise and of x and y ) &  举例: 5&3 = 1  解释: 101  11 相同位仅为个位1 ,故结果为 1 按位或   ( bitwise or of x and y ) |  举例: 5|3 = 7  解释: 101  11 出现1的位是 1 1 1,故结果为 111 按位异或 ( bitwise exclusive or of x…
Python 刷题笔记 本文记录了我在使用python刷题的时候遇到的知识点. 目录 Python 刷题笔记 选择.填空题 基本输入输出 sys.stdin 与input 运行脚本时传入参数 Python语言基础 序列 列表 元组 字典 集合 选择与循环 字符串与正则表达式 字符串 正则 函数 面向对象 文件 异常 未分类 常见数学 性能评估 numpy random 选择.填空题 Python3 中,布尔型只有 True 和 False 两个值,但它们的值本质上是 1 和 0,因此它们可以和数…
一.混合表达式哪个部分先计算: 1. 取决于操作符的优先级,不同操作符的优先级是不一样的,例如‘*’的优先级高于‘+’ 2. 上节的表格里越靠后,优先级越高. 3 . 同一表达式的相同操作符是按从左到右的顺序计算 二.括号表达式:优先级最高 1. 括号表达式把整个表达式分组 2. 括号里的优先计算 三.数字混合表达式的计算导致数据类型的升级: 1. 整数+浮点=浮点类型 2. 浮点+复数=复数类型 3. 简单类型+复杂类型=复杂数据类型 ..... 1+1.13=2.13 最终结果是浮点类型 也…