摘要: 题目:数字翻转,即输入123,返回321;输入-123,返回-321。代码: 1 class Solution { 2 public: 3 int reverse(int x) { 4 int result = 0, sign = 1; 5 if(x < 0... 阅读全文
posted @ 2014-06-02 21:42 阿杰的专栏 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 题目:把一个字符串按照Z型排列后打印出来,例如"PAYPALISHIRING" 重新排列后为3行,即P A H NA P L S I I GY I R那么输出为"PAHNAPLSIIGYIR"解法:细节实现题,假如重新排列为5行,那么排列后的下标分布应该为0 8 ... 阅读全文
posted @ 2014-06-02 15:17 阿杰的专栏 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个字符串S,返回S中最长的回文子串。S最长为1000,且最长回文子串是唯一。解法:①遍历,对于每个字符,计算以它为中心的回文子串长度(长度为奇数),同时计算以它和右边相邻字符为中心的回文子串长度(长度为偶数)。时间为O(N2)。②另外,有一个很奇妙的算法,称为Manacher算法,参考h... 阅读全文
posted @ 2014-06-02 11:39 阿杰的专栏 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 题目:两个数字求和,数字用链表表示,每一个结点代表一位。链表顺序与数字顺序相反,即表头存放数字的最低位。解法:分别遍历两个链表的每个结点,对两个结点求和即可。要维护一个变量保存每次相加之后的进位。更常见的,链表顺序与数字顺序相同,那么做一次链表逆序,求和之后再逆序回来即可。代码: 1 /** 2 ... 阅读全文
posted @ 2014-06-02 09:49 阿杰的专栏 阅读(2445) 评论(1) 推荐(0) 编辑
摘要: 题目:给定一个字符串,返回其中不包含重复字符的最长子串长度。解法:维持两个指针,第一个指向子串开始,第二个负责遍历,当遍历到的字符出现在子串内时,应计算当前子串长度,并更新最长值;然后第一个指针更新为出现位置的下一个。代码: 1 class Solution { 2 public: 3 in... 阅读全文
posted @ 2014-06-01 16:48 阿杰的专栏 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 题目:找两个排序数组A[m]和B[n]的中位数,时间复杂度为O(log(m+n))。解法:更泛化的,可以找第k个数,然后返回k=(m+n)/2时的值。代码: 1 class Solution 2 { 3 public: 4 double findMedianSortedArrays(int ... 阅读全文
posted @ 2014-06-01 15:16 阿杰的专栏 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目地址:https://oj.leetcode.com/problems/two-sum/Two SumGiven an array of integers, find two numbers such that they add up to a specific target number.Th... 阅读全文
posted @ 2014-06-01 14:19 阿杰的专栏 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 本章将深入介绍Python的文件处理和相关输入输出能力,包括:文件对象(以及它的内建函数、内建方法和属性),标准文件,文件系统的访问方法,文件执行,最后简要涉及持久存储和标准库中与文件有关的模块。1 文件对象 句柄、文件描述符,可以访问磁盘的普通文件,也可以访问设备文件等类文件。文件只是连续的... 阅读全文
posted @ 2013-12-04 00:25 阿杰的专栏 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 本章讲述if、while、for以及与他们搭配的else、elif、break、continue、pass等语句。1 if语句 语法:三部分——关键字if、条件表达式、代码块。(记住冒号)if cond_expr: expr1.1 多重条件表达式 条件表达式可以是一个由not、and、... 阅读全文
posted @ 2013-12-02 15:42 阿杰的专栏 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 本章介绍Python语言中的映射类型(字典)和集合类型,包括操作符、工厂函数、内建函数与方法。1 字典 字典是Python中唯一的映射类型——键key直接映射到值value。字典是容器类型,其对象是可变的。字典中的数据是无序排列的。是哈希表。 创建字典——直接赋值{}、工厂函数dict()、... 阅读全文
posted @ 2013-12-01 14:59 阿杰的专栏 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 11 列表 类似于C语言的数组,但是列表可以包含不同类型的任意对象。列表是可变类型。 创建列表——手动赋值、工厂函数:>>> aList = [12, 'abc']>>> print aList[12, 'abc']>>> list('foo') #参数为可迭代对象['f', 'o', '... 阅读全文
posted @ 2013-11-30 18:20 阿杰的专栏 阅读(505) 评论(0) 推荐(0) 编辑
摘要: 本章研究Python中的序列:字符串、列表和元组。因为这些类型其实都是由一些成员共同组成的一个序列整体,所以我们把它们统称为序列。序列的存储结构可以表示为: 1 序列 序列类型有着相同的访问模式:按下标访问某一元素[0, N-1],也可以通过切片操作一次得到多个元素... 阅读全文
posted @ 2013-11-29 23:06 阿杰的专栏 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 本章的主题是Python中的数字,这里详细介绍每一种数字类型,它们适用的各种运算符,以及用于处理数字的内建函数。在本章的末尾简单介绍了几个标准库中用于处理数字的模块。1 数字类型 数字:标量贮存,可直接访问。值不可更改,更新数字的值其实是生成了一个新的对象。 创建数字对象:赋值的时候就已经创... 阅读全文
posted @ 2013-11-27 19:45 阿杰的专栏 阅读(756) 评论(0) 推荐(0) 编辑
摘要: 现在开始学习Python语言的核心部分。首先了解什么是Python对象,然后讨论最常用的内建类型,接下来讨论标准类型运算符和内建函数,之后给出对标准类型的不同分类方式,最后提一提Python目前还不支持的类型(这对那些有其他高级语言经验的人会有所帮助)。1 Python对象 Python使用对... 阅读全文
posted @ 2013-11-26 23:02 阿杰的专栏 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 本章介绍基本的Python语法、编程风格;并简要介绍标识符、变量和关键字,以及变量占用内存的分配和回收;最后给出一个较大的Python样例程序来体验这些特性。1 语句和语法1.1 注释 可以在一行的任何位置,以 # 开头,直至行尾都是注释。1.2 反斜线继续上一行 一行过长的语句,可以用反斜... 阅读全文
posted @ 2013-11-25 23:20 阿杰的专栏 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 16 文件和内建函数open(),file() 打开文件:fobj = open(filename, 'r')for eachLine in fobj: print eachLine, #由于每行自带一个换行符,所以print后面有逗号,阻止print再换行fobj.close() ... 阅读全文
posted @ 2013-11-24 23:42 阿杰的专栏 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 本章是对Python的主要特性做一个快速介绍。1 介绍 交互执行时,解释器有两种提示符: 主提示符(>>>):解释器在等待输入下一个语句; 次提示符(...):解释器在等待输入当前语句的其它部分。 Python有两种方式来完成要求: 语句:使用关键字来组成命令,可以有输出,... 阅读全文
posted @ 2013-11-24 19:11 阿杰的专栏 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 本章介绍了Python的背景知识,包括什么是Python、Python的起源以及Python的一些关键特性。1 什么是Python Python是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性。2 起源 贵铎·范·罗萨姆(Guido... 阅读全文
posted @ 2013-11-23 16:24 阿杰的专栏 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 为什么要使用正则表达式 UNIX 中提供了许多 指令 和 tools,它们具有在文件中 查找(Search)字串或替换(Replace)字串 的功能。像 grep, vi , sed, awk,...不论是查找字串或替换字串,都得先告诉这些指令所要查找(被替换)的字串为何。若未能预先明确知道所要查... 阅读全文
posted @ 2013-11-21 21:06 阿杰的专栏 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 因内置变量的个数不多,此处按其相关性分类说明,并未按其字母顺序排列。ARGC ARGC表示命令行上除了选项 -F, -v, -f 及其所对应的参数之外的所有参数的个数。若将"awk程序"直接写在命令列上,则 ARGC 亦不将该"程序部分"列入计算。ARGV ARGV数组用以记录命令列上的参数。例... 阅读全文
posted @ 2013-11-21 21:05 阿杰的专栏 阅读(381) 评论(0) 推荐(0) 编辑