摘要:
1. logging介绍 Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现具... 阅读全文
摘要:
1. 处理中文时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法"UnicodeDecodeError: 'ascii' codec can... 阅读全文
摘要:
12步轻松搞定Python装饰器通过 Python 装饰器实现DRY(不重复代码)原则: http://python.jobbole.com/84151/ 基本上一开始很难搞定python的装饰器,也许因为装饰器确实很难懂。搞定装饰器需要你了解一些函数式编程的概念... 阅读全文
摘要:
Python是一种面向对象、直译式计算机程序设计语言。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块。与Scheme、Ruby、Perl、Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理内... 阅读全文
摘要:
rsync是类unix系统下的数据镜像备份工工具,一般linux系统都自带了 [可以确认一下:shell>rpm -qa|grep rsync]服务端:192.168.1.2 同步目录:/home/source客户端:192.168.1.3 同步目录:/home/... 阅读全文
摘要:
【试题描述】: 给定二叉树先序中序,建立二叉树的递归算法 其先序序列的第一个元素为根节点,接下来即为其左子树先序遍历序列,紧跟着是右子树先序遍历序列,固根节点已可从先序序列中分离。在中序序列中找到 确定的根节点,根据中序遍历特性,在巾序序列中,根节点前面的... 阅读全文
摘要:
【试题描述】 将二叉搜索树转换为双向链表对于二叉搜索树,可以将其转换为双向链表,其中,节点的左子树指针在链表中指向前一个节点,右子树指针在链表中指向后一个节点。 思路一:采用递归思想,对于二叉搜索树,将左、右子树分别转换为双向链表,左子树转换所得链表的头结点即整个树的... 阅读全文
摘要:
[来源]:腾讯2013实习生笔试 给定一个数组a[N],我们希望构造数组b [N],其中b[j]=a[0]*a[1]…a[N-1] / a[j],在构造过程中,不允许使用除法:要求O(1)空间复杂度和O(n)的时间复杂度;除遍历计数器与a[N] b[N]外,不可... 阅读全文
摘要:
Python 有两个内建的模块用于处理命令行参数:一个是 getopt,《Deep in python》一书中也有提到,只能简单处理 命令行参数;另一个是 optparse,它功能强大,而且易于使用,可以方便地生成标准的、符合Unix/Posix 规范的命令行说明。使... 阅读全文
摘要:
本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写高效的正则表达式、如何优化正则表达式,这些主题请查看其他教程 1. 正则表达式基础1.1. 简单介绍正则表达式并不是Python... 阅读全文
摘要:
一、入门级程序员的面试题:这些软件设计和设计模式的先关问题大多会出现在初学者面试情景中,什么是设计模式?特定的设计模式又是什么?等等这些概念,也许你很轻易回答这些概念,但文内提供的这些问题也许能给你带来更多价值。1. 什么是设计模式?在你编码过程中使用了哪些设计模式?... 阅读全文
摘要:
一、我们为什么要学习vim编辑器?Linux的命令行界面下面有非常多的文本编辑器。比如经常听说的就有Emacs、pico、nano、joe与vim等。vim可以看做是vi的高级版。我们为什么一定要学习vim呢?有以下几个原因:(1)所有的Unix like系统都会内置... 阅读全文
摘要:
大家都知道Python语言是一种新兴的编程语言。1989年,Python就由Guido van Rossum发明。Python一直发展态势很好。 原因有几点:1、跨平台性好。Linux、Windows、MacOS、塞班……。2、快速易学。3、模块齐全。 ... 阅读全文
摘要:
(可参考 http://c.chinaitlab.com/special/algorithm/Index.html)五大常用算法之一:分治算法分治算法一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个... 阅读全文
摘要:
1. 引言 哈希表(Hash Table)的应用近两年才在NOI中出现,作为一种高效的数据结构,它正在竞赛中发挥着越来越重要的作用。 哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比较多的内存。然而在... 阅读全文
摘要:
【试题描述】定义一个函数,输入一个链表,删除无序链表中重复的节点【参考代码】方法一:Without a buffer, we can iterate with two pointers: “current” does a normal iteration, while... 阅读全文
摘要:
【试题描述】定义一个函数,输入一个链表,判断链表是否存在环路平衡二叉树,又称AVL树。它或者是一棵空树,或者是具有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左子树和右子树的高度之差之差的绝对值不超过1。问题:判断一个二叉排序树是否是平衡二叉树这里是二叉排序... 阅读全文
摘要:
【试题描述】定义一个函数,输入一个链表,判断链表是否存在环路,并找出回路起点Circular linked list: A (corrupt) linked list in which a node’s next pointer points to an earlie... 阅读全文
摘要:
【试题描述】输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度O(n)。思路:当我们加上一个正数时,和会增加;当我们加上一个负数时,和会减少。如果当前得到的和是个负数,那么这个和在接下来的累加中... 阅读全文
摘要:
【试题描述】数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。【试题分析】时间复杂度O(n),空间复杂度O(1) 思路1: 创建一个hash_map,key为数组中的数,value为此数出现的次数。遍历一遍数组,用hash_map统计每个数出现的次数... 阅读全文