LeetCode 解题报告 (26)-- 消除有序数组中重复值 (常数空间) 发表于 2016-03-31 标签 python , 双指针 原题如下: >Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do this in place with constant memory. 阅读全文 »
LeetCode 解题报告 (23)-- 合并 k 个有序数组 发表于 2016-03-29 标签 python , 堆 原题如下: >Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 阅读全文 »
LeetCode 解题报告 (22)-- 生成所有合法的嵌套括号 发表于 2016-03-29 标签 python , 回溯法 原题如下: >Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. 阅读全文 »
搜狗、百度、QQ 输入法的词库爬虫 发表于 2016-03-27 标签 python , 爬虫 , 广度优先搜索 本文主要讲述了通过 python 实现的用于下载搜狗、百度、QQ 三个输入法的词库的爬虫的实现原理。主要利用了 python 自带的 urllib2、Queue、re、threading 模块,并分别通过单线程和多线程实现。最后会给出完整的源码地址。 阅读全文 »
python 中的多线程 发表于 2016-03-26 标签 python , 操作系统 本文主要讲述了 python 中多线程的使用、线程锁以及多线程在 python 中是否能够提高效率。多线程的概念进程的相信大家都听说过,而线程可以理解为比进程更小一级的概念,一个进程内至少有一个线程,如果有多个线程,那么他们就共享进程的资源,共同完成进程的任务。使用多线程一般有两个不同的目的: 一是把程序细分成几个功能相对独立的模块,防止其中一个功能模块阻塞导致整个程序假死(GUI 程序是典型) 另一个就是提高运行效率,比如多个核同时跑,或者单核里面,某个线程进行 IO 操作时,另一个线程可以同时执行。具体可以参考这篇文章 阅读全文 »
LeetCode 解题报告 (19)-- 从后往前删除链表第 n 个元素 发表于 2016-03-10 标签 python , 双指针 , 链表 原题如下: >Given a linked list, remove the nth node from the end of list and return its head.For example,Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the linked list becomes 1->2->3->5. Note: Given n will always be valid. Try to do this in one pass. 阅读全文 » LeetCode 解题报告 (167, 1, 15, 16, 18)-- 双指针解决 ksum 问题 发表于 2016-03-08 标签 python , 双指针 ksum 问题是一类问题, 要求从给定的数字中找到 k 个数,使得这 k 个数的和等于特定值。题目不难,直观的方法的时间复杂度为 \(O(n^k)\), \(n\) 为给定的数字的个数, 关键在于时间复杂度的控制, 本文主要讲述通过双指针将这类问题的时间复杂度降为 \(O(n^{k-1})\)。 阅读全文 » LeetCode 解题报告 (17)-- 电话数字组合成的不同字符串 发表于 2016-03-06 标签 python , 回溯法 原题如下: >Given a digit string, return all possible letter combinations that the number could represent. 阅读全文 » python 连接 mysql 及其注意事项 发表于 2016-02-24 标签 python , 数据库 本文主要讲述利用 python 连接数据库的过程和部分注意事项。文章不会涉及到连接的原理,只是简单介绍连接的步骤,以及 mysql 不同的引擎连接的过程的细微区别。 阅读全文 » 《Programming Collective Intelligence》读书笔记 (2)-- 协同过滤 发表于 2016-02-22 标签 机器学习 , 集体智慧编程 《Programming Collective Intelligence》(中文名为《集体智慧编程》),是一本关于数据挖掘的书籍,每一章都会通过一个实际的例子来讲述某个机器学习算法,同时会涉及到数据的采集和处理等,是一本实践性很强的书籍。本文是关于本书的第二章 Making Recommendations 的前半部分。主要讲述了寻找用户相似性和物品相似性的方法,并在这个基础上讲述如何为用户推荐物品。 阅读全文 » 1…202122…270%Theme NexT works best with JavaScript enabled
LeetCode 解题报告 (167, 1, 15, 16, 18)-- 双指针解决 ksum 问题 发表于 2016-03-08 标签 python , 双指针 ksum 问题是一类问题, 要求从给定的数字中找到 k 个数,使得这 k 个数的和等于特定值。题目不难,直观的方法的时间复杂度为 \(O(n^k)\), \(n\) 为给定的数字的个数, 关键在于时间复杂度的控制, 本文主要讲述通过双指针将这类问题的时间复杂度降为 \(O(n^{k-1})\)。 阅读全文 »
LeetCode 解题报告 (17)-- 电话数字组合成的不同字符串 发表于 2016-03-06 标签 python , 回溯法 原题如下: >Given a digit string, return all possible letter combinations that the number could represent. 阅读全文 »
python 连接 mysql 及其注意事项 发表于 2016-02-24 标签 python , 数据库 本文主要讲述利用 python 连接数据库的过程和部分注意事项。文章不会涉及到连接的原理,只是简单介绍连接的步骤,以及 mysql 不同的引擎连接的过程的细微区别。 阅读全文 »
《Programming Collective Intelligence》读书笔记 (2)-- 协同过滤 发表于 2016-02-22 标签 机器学习 , 集体智慧编程 《Programming Collective Intelligence》(中文名为《集体智慧编程》),是一本关于数据挖掘的书籍,每一章都会通过一个实际的例子来讲述某个机器学习算法,同时会涉及到数据的采集和处理等,是一本实践性很强的书籍。本文是关于本书的第二章 Making Recommendations 的前半部分。主要讲述了寻找用户相似性和物品相似性的方法,并在这个基础上讲述如何为用户推荐物品。 阅读全文 »