自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

计算机动物的博客

记录坑和收获!

  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

原创 Windows单机jdk + scala + spark + hadoop + pycharm开发环境的搭建

安装步骤折腾好久,主要是网上教程太散了有的地方还没说全版本jdk 1.8scala 2.10.7spark 1.6.0(依赖hadoop 2.6)hadoop 2.6.5spark 1.6还是比较稳定好用的,下载链接自己找放一下hadoop相关的链接吧链接: https://pan.baidu.com/s/1IU0GDJtvo70rwm7srRmr9A 提取码: 9c68 这是不...

2019-02-23 12:38:33 822

原创 leetcode165-比较版本号

这个简单,下班前水的,不说了放代码吧class Solution(object): def compareVersion(self, version1, version2): """ :type version1: str :type version2: str :rtype: int """ ...

2019-01-30 18:40:26 247

原创 peewee connect() got an unexpected keyword argument 'reuse_if_open'

最近用peewee这个ORM,前面坑太多了也没记录,这个小坑留念一下。我在本地写完程序推送到服务器上运行会报这个错误。这个就是peewee版本问题,pip install  -U peewee即可本坑完!...

2019-01-30 17:37:25 1648

原创 zsh: permission denied celery

执行celery命令的时候无法成功。这个时候可以先echo $path一下,看看路径里有没有celery所在的路径。没有的话当然执行不成功了!! celery 我的是在/usr/local/python3/bin这个目录,也就是你的python的bin目录,把这个目录加到环境变量的path里 vi /etc/profileexport PATH=/usr/local/pyt...

2019-01-17 14:34:07 3035

原创 leetcode71-简化路径

借用栈去解决,按照' / '分割字符串, 遇到  ' . ' 以及空字符跳过,遇到' .. '从栈里弹出元素,其余入栈,最后如果栈空应该返回一个' / ' class Solution(object): def simplifyPath(self, path): """ :type path: str :rtype: str ...

2018-11-25 16:46:36 139

原创 组合算法------非递归

 这种方法相当于每次从数组里取一个元素和result里的所有列表元素相加,列表元素里长度大于等于n的(挑选出n个数的组合)就没有和元素相加的意义了,用不到。长度小于n的都会被用到,最后对result里的元素过滤一下,只保留长度是n的。def combination_add(num_list,n): result = [[]] for i in num_list: ...

2018-11-25 14:32:36 602

原创 leetcode78. 子集

就是组合算法,详细看我的另一篇非递归组合算法class Solution(object): def combination(self,num_list, n): length = len(num_list) init_list = [1] * n + [0] * (length - n) start = True res...

2018-11-25 13:56:29 111

原创 组合算法-----0~1置换法

组合算法里0~1置换个人认为是个比较不错的思路,举个例子各位看官就明白了,很好理解举例:对于[1,2,3,4,5],的3个数的组合初始一个0~1数组             1,1,1,0,0           因为是5个人数里找3个数,所以初始前三个是1 1,1,0,1,0           遇到第一个10,把1、0位置置换,同时这个10的前面都是1(如果有1也有0还要进行其他...

2018-11-24 23:22:10 394

原创 leetcode102. 二叉树的层次遍历

简单题,下班水的,方法不优雅,博客里LeetCode107改改就好了# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right ...

2018-11-23 19:06:19 89

原创 leetcode103. 二叉树的锯齿形层次遍历

简单题,方法也不优雅,LeetCode107改改就行了,锯齿形就是掌握好层和节点左右顺序就好class Solution(object): def levelOrderBottom(self, root): """ :type root: TreeNode :rtype: List[List[int]] """ ...

2018-11-23 19:01:36 92

原创 leetcode107. 二叉树的层次遍历 II

简单题,下班之前闲着没事水了一道,方法也不优雅主要思路就是记录每层节点数,配合队列que去实现class Solution(object): def levelOrderBottom(self, root): """ :type root: TreeNode :rtype: List[List[int]] """ ...

2018-11-23 18:51:42 158

原创 微信小游戏一笔画通关代码---------深度优先图搜问题

这就是图的深度优先搜索,这里我把游戏里的方块图转化为0,1二维列表输入,0表示那个位置没有方块,1表示有。输入:0-1图,起始点在二维列表中的位置输出:标记了滑动顺序的二维列表,按照数字递增滑动即可思路:先把0-1图转化为字典存储的图结构,key是这个点在二维列表的位置整数化(i*10+j),value是一个列表,包括该点上下左右存在方块的位置[ [ i1, j1 ], [i2, ...

2018-11-21 15:55:06 1297 1

原创 Leetcode73 矩阵置零

已AC, 中等题思路:设置两个集合,line_set,row_set分别存放矩阵中0所在的行和列,使用集合是避免重复遍历 第一次遍历二维数组,将相应数字装入集合 第二次遍历将两个集合里的行列全部置零我的这种方法虽然通过,但是可能与题意不是很符合,题目要求原地算法,我额外占用了集合的空间应该是属于违规的,不借助额外空间也是可以的:每次遍历遇到0就把他所在的行列置位其他数字或字符比如...

2018-10-28 10:31:43 145

原创 LeetCode69 X的平方根

已AC,简单题思路:用代码实现手动开平方竖式的过程 竖式解的详细步骤参考这里:https://jingyan.baidu.com/article/f0e83a258d02d522e4910154.html 代码中的第一个for循环是将被开方数转化成可执行竖式的列表(具有一定规范,从低位到高位两个数字一组,最高位也可自成一组) 其余部分看懂竖式就可以理解了# -----------...

2018-10-26 00:58:44 131

原创 leetcode66 加一

简单题,已AC思路:设置初始进位是1,从后向前遍历列表 每一位都与进位相加再对10取模( sum % 10 ),进位也相应更新为相加后取商(sum / 10) 循环过后如果进位不为0,就把进位插入到列表的第一位# ------------- 加一 -----------class Solution(object): def plusOne(self, digits): ...

2018-10-25 10:00:28 126

原创 LeetCode65 有效数字

已AC,Python语言描述看到这道题的时候发现这道题的级别是困难,通过率也才11.7%。(可能各位大佬不屑于做这道题???)这道题也确实无非就是情况考虑的全面一些,然后就可以AC,可能也是因为我用Python提交的吧(总感觉自己作弊了。。。。。)思路:先把字符串首尾去空格(用了Python的 strip() 方法) 如果字符串中还有空格,直接返回false 此时字符串中是不包含空...

2018-10-25 09:07:51 494

原创 LeetCode17 电话号码的字母组合

已经AC,Python语言描述思路:为2~9的电话号码建立哈希表,队列result 初始存放输入的数字字符串首位数字对应的字母列表,如:result=[' a', ' b', ' c' ] 队列弹出后与数字字符串的下一位数字对应的字母列表逐个拼接后在入队 这里有个小的需要注意的地方,就是Python的拷贝、‘=’ 引用的区别。因为没有注意到这个问题,当数字字符串里有相同字符时一直提...

2018-10-22 16:06:07 624

原创 LeetCode20 有效的括号

AC代码,Python语言描述思路:用一个栈来存放符号,遍历一次字符串s,当字符i为'( '、' { '、' [ '的时候入栈,当字符i为')'、' } '、' ] '出栈,出栈元素记为j 当出栈元素j与字符i不属于同一对括号时return False,结束程序 当出栈时超过栈索引return False,结束程序 最后检查栈是否为空,为空return True,结束程序。否则ret...

2018-10-22 11:54:59 130

原创 leetcode46 全排列算法

插入法实现全排列算法,Python语言描述思路:给定一个待排列数组nums,如nums=[1,2,3]。定义一个保存结果的二维数组 result=[ [ ] ] 顺序的每次从nums中取一个元素num,从result弹出一个待插入列表(出队),将num插入进去。 如result弹出一个待插入列表是[ 1 ],num=2。这时有两种插入情况,分别是insert(0, num) 和 ins...

2018-10-21 19:08:32 253

原创 leetcode41 缺失的第一个正整数

Python语言描述,已经通过。思路:min_num是缺失的最小正整数最开始设为1。 每次遍历数组,用数组里的数去减min_num,如果差为0结束for循环,证明数组里有min_num,min_num加1。 如果遍历之后差tmp始终不为零,证明此min_num是最小的未出现正整数,return min_num,结束程序。class Solution(object): def...

2018-10-20 21:15:21 141

原创 模拟竖式的大数相乘---Python实现

def big_data_multiply(num_1,num_2): #print num_1*num_2 num_1_list = [int(i) for i in str(num_1)] # 相当于竖式的下一层 num_2_list = [int(i) for i in str(num_2)] # 相当于竖式的上一层 result = [0]*len(num...

2018-10-20 10:13:50 973 1

原创 原创非递归实现全排列算法

Python语言描述空间换时间的做法,借助队列去实现全排列# ---------借助队列去实现全排列(原创)---------from copy import copyclass Per_node(object): def __init__(self,elements): ''' :param elements: 元素列表 '...

2018-10-17 16:51:53 326

原创 Python实现最短路径Dijkstra算法

class Graph_matrix(object): def __init__(self): self.storage_matrix = [] self.node_list = [] def make_picture(self, matrix, _nodes): ''' :param matrix: 输入邻接矩阵...

2018-10-12 16:46:57 4423

原创 布隆过滤器的一个实战小例子

问题是这样的:现在服务器端有两个文件夹,里面的文件都是文件名为MD5后的字符串并且没有文件后缀。这两个文件夹里有少部分重复的文件(指文件名重复即认为重复)并且少量文件存在后缀名(这个也是不需要的)一共有200万到300万的文件,20多个GB。如果考虑速度的话最好可以使用hash表,但是几百万的文件建立map要消耗很大的空间,这里牺牲一定的准确性采用布隆过滤器#!/usr/bin/py...

2018-09-12 10:59:20 779

原创 Python笔记之 的链表基本操作

#!/usr/bin/python# -*- coding: utf-8 -*-# 链表的话就有data存放数据,next指向下一个dataclass Node(object): # 节点类 def __init__(self, data): self.data = data self.pnext = None def __repr__...

2018-08-29 17:05:00 402

原创 Python笔记之 range 与 xrange

#!/usr/bin/python# -*- coding: utf-8 -*-# 自己手动实现一个range和xrange# print range(10) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]# print xrange(10) #xrange(10)def range(start, end, step=1): num = [] whil...

2018-08-28 15:49:40 196

原创 Python笔记 多线程小例子

这里实现一个多线程编程的小例子,这个小例子是请求20000个url并且返回状态码,状态码200的把对应的url存入数据库Python的多线程的使用还是很简单的,先申请一个多线程对象,然后逐个start()开启就好了(我这个是最简单的想法)每个线程要做的工作可以写到函数里,传递给每个线程,就称它为工作函数好了。先来看工作函数:#coding=utf-8import threadi...

2018-07-18 15:33:04 168

原创 pycharm 提示 imported resolves to its containing file

python 的文件可不能随意命名啊,一定要和包名避开,这个提醒就是说你的包名和文件名重复了

2018-06-25 18:01:40 225

原创 搭建一个新闻推荐网站(一)

起因     因为平时很喜欢看新闻,而且关注的媒体大概有国内外六个左右(“兼听则明”吗,哈哈哈)。这就导致我每天都要通过APP、网页去获取新闻有些浪费时间,来回切换还很费事。。。所以就产生搭建一个自己的新闻网站的想法,写一个普通的新闻网站也没什么意思,所以决定搞一个推荐式的。项目的总体思路首先你需要有这些新闻数据,而且每天都会更新。你可以用一个简单的request或者urllib去获取数据,不过那...

2018-06-21 15:51:03 3214 5

原创 git 错误:error: failed to push some refs to

用git往gitlab分支上传代码碰到的错误先git add .然后 git commit -m 'shq'然后git pull然后 git push origin 分支名这时候报错了我举个例子,大概是说分支里有一部分文件你之前没有Git下来,可能是你本地新建的,然后你还行push上去把人家覆盖!所以报错了,我猜测我应该是这个问题。咋搞?我是强行覆盖的。。。。git push origin 分支名...

2018-06-21 11:38:14 207

原创 安装Spyder IDE

Spyder IDE  是Anaconda自带的IDE,如果你只是想体验一下这个IDE,可以看这个文章如果你还没有安装Python,我建议你安装Anaconda,傻瓜式安装,环境之类的都配好了,IDE也有了,方便。我只是想体验一下这个IDE而已,网上的教程啰里啰嗦,其实就两部,特别简单1、pip install spyder2、安装PyQT,我安装的是PyQT4,选好自己对应的Python版本和3...

2018-06-13 16:50:12 6018

原创 记录一次很懒的经历。。。。

咋跟写日记一样呢?先啰嗦两句我一直觉得“懒惰”对于进步有很正面的影响。当然了,这里的“懒惰”是指能用脑子解决的坚决不动手!因为动手累啊。。。对于学计算机的人来说应该再加上一条:能用计算机解决的就别用脑子,因为人脑会疲劳会出错。(逼先装到这)起因其实这个事是这样的,我们大数据组有几个同学负责在网上抓数据,我也不知道抓了多久,那个spider就写了好几千个(目测两千)我擦这任务量,随说框架搭好了写sp...

2018-06-13 15:20:49 302

原创 MySQL+pymysql数据清洗(一)

记录一次数据清洗--(准备工作)背景:我所在的部门是公司的大数据组,这次的数据清洗只记录清洗过程,遇到的值得记录的问题(小问题忽略)。本人将严格保密公司商业信息!数据库的所有字段都是自己随意命名替代的,数据的任何相关信息都不会透露!1、开启binlog防止误操作无法撤回、及时备份原表或某一时间段正确清洗过的表修改MySQL安装目录里的my.inf文件,这个去网上搜大把有,无非就是添加几行信息,lo...

2018-06-05 13:58:47 3622

原创 Cannot run multiple SparkContexts at once; existing SparkContext错误

最近在写一个基于spark的推荐网站,原理很简单,就是前端页面表单接受数据(用户ID)传给基于spark的推荐程序,将结果反馈给页面。第一次输入ID可以成功执行,第二次就会报这个错误很简单是因为再次运行spark需要将spark停止解决办法:在使用spark的时候我们都会初始化一个SparkContext对象为sc (名称任意)  python演示记坑!try: sc.stop()exc...

2018-05-25 14:16:21 2135

原创 数据库的字符串连接问题

今天要搞定一个数据库里no值缺失的问题,no值是一个依靠别的字段生成的MD5,开始就很简单找一下no为空的数量select count(id) from cnp_all.all where no is null   (结果是6100条)然后就把相关的字段组合成字符串生成MD5替换掉啊:UPDATE cnp_all.all set no = MD5(CONCAT(c, b, l, p, conten...

2018-05-23 14:56:22 185

原创 Navicat 运行sql文件报错:2006 - MySQL server has gone away

最近在公司清理数据的过程中需要导入运行sql文件,频繁运行失败提示:2006 - MySQL server has gone away查看MySQL Server 5.7文件夹下的my-default.ini配置文件发现导入包的大小限制是30M,我的sql文件都是最小800+M啊!!!解决办法,修改配置文件:max_allowed_packet=3500M  #我的最大有2.95Gwait_tim...

2018-05-22 15:21:59 4364 1

原创 'WSGIRequest' object has no attribute 'user'报错

在使用django建站初始进入登陆页面的时候报这个错误,因为我中途曾经从django1.6升级到了django1.8,所以遇到了这个坑。解决办法就是在settings.py文件中,把可执行中间件 MIDDLEWARE 改为 MIDDLEWARE_CLASSES 就可以解决,django版本问题...

2018-04-29 10:08:04 1910

原创 python manage.py makemigrations app_name 报错

检查你的django版本,最低1.7才支持这条命令查看django版本可以在cmd中输入python,输入import django,print django.VERSION

2018-04-29 09:43:57 1577

原创 Scrapy.FormRequest post请求中 formdata的问题

 最开始只是把抓包得到的字典里的数据直接扔到formdata中,然后会报错:to_bytes must receive a unicode, str or bytes object, got int字典里的是不可以出现整型数字的!数字也要按照字符串去写!formdata字典中的数据必须是unicode , str 或者 bytes object...

2018-04-18 14:53:42 2881 1

Go By Example中文版带目录标签

Go语言中文网社区资源,PDF版本,有目录标签。通过例子在学习go语言,很适合入门

2018-06-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除