8 肥宅_Sean

尚未进行身份认证

中山大学在读,主修数学和计算机(信息与计算科学),辅修金融 微信公众号 肥宅Sean 欢迎关注

等级
TA的排名 909

xpath如何得到【爬虫】

简述爬虫中经常使用到爬虫,但是一般来说,xpath算是一个非常好的定位元素的方式,但是如果每次都要自己推算的话,那实在是太复杂了。所幸,chrome解决了这个问题。演示gif先看个演示。文字描述看上面的gif就知道了,但是有些东西在gif上看不到,这里做下补充。出现弹出来的那个框,是通过鼠标右键弹出来的那个框的左上角(这里,我是点了下的),点完之后,我的鼠标触碰到的网页上,就会直...

2019-11-11 10:27:58

无重复字符的最长子串【哈希算法】-O(n)

无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长...

2019-10-29 20:25:48

Manacher's algorithms(马拉车算法)最长回文子串

最长回文子串https://leetcode-cn.com/problems/longest-palindromic-substring/给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为1000。示例1:输入:"babad"输出:"bab"注意:"aba"也是一个有效答案。示例2:输入:"cbbd"输出:"bb"Manach...

2019-10-23 07:17:13

不同路径-DP

不同路径https://leetcode-cn.com/problems/unique-paths一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?说明:m 和 n 的值均不超过 100。示例 1:输入: m = 3,...

2019-10-22 19:54:16

最长回文子串-三种DP实现

解法一T: 156 ms M: 14.8 MBclass Solution {public: string longestPalindrome(string s) { if (s.size() < 2) return s; int map[2000][2001]; int total = 1, star...

2019-10-22 13:58:34

git-fork下来的项目(拷贝到本地 & 根据原来的库更新)

简述一般git,在别人的库下,和大家一起合作的步骤在别人的库下面,点击fork,就会出现自己的库下有一个拷贝的版本在自己的github下的拷贝版本下,用gitclone到到本地在本地添加新的源,然后在用gitpull更新库拷贝到本地标准的模式是:gitclone(一个git的链接)例子:Sean16SYSU想要将自己github里的Algorithm4N这个库...

2019-10-20 09:53:24

爬取微博特定一用户的微博评论(一)

项目简述下面的url是朋友叫我爬取的对象共青团的微博。会爬取共青团的所有热门微博的全部的微博下的前20个一级评论打包到一个文件夹中,每个文件都是放一个微博的前20条评论(本来目标是拿200个微博的,但是后来就变成只有86个了….)使用要求就是需要在打开网页的30秒内,完成微博的登录。因为,在后面,需要爬取很多的个微博,所以,只有登录后才会拿到。缺点分析通过模拟...

2018-04-14 21:51:39

整数的幂计算(三种方法)最快O(logn)

整数的幂计算算法1:一般来说的常见的计算xnx^nxn的方式,就是逐步乘上x,这样一共需要O(n)次O(n)次O(n)次的乘法算法2:但如果x4x^4x4的话,其实我们只需要计算一次x2x^2x2,再用两个x2x^2x2相乘就好了。这样的话,算法复杂度就被降低到了O(logn)O(logn)O(logn)。如果不是偶数的话,也可以通过提取出一个偶数来得到对应的结果。用递归的方式很容易就...

2019-10-02 10:55:30

[深搜]24点--改进版本

回顾之前写的版本[深搜回溯]24点,没有考虑到中间数值的可能性,是对数值进行深搜遍历,而不是对数值对进行深搜数值遍历,使得较为复杂的24点运算中有部分数据没办法得到解决。这次的改进将围绕着这个进行。算法思路当数组长度为1的时候输出,判断是否为24点,如果是24点,就输出对应的数学表达。如果数组长度大于等于2,则进行深度搜索在数组中任意选择两个数值,再选择加法,左减,右减(减法有顺序)...

2019-08-06 08:24:34

软件附带有广告如何消除

简述不少软件都附带有广告,这让我有时候的体验很糟糕。类似于下面的这种操作打开任务管理器找到对应程序名称:比如这次这个是搜狐新闻右键点击它,然后打开文件所在位置再删除这个软件就好了(把原来的广告删掉之后,才能删掉这个软件,之后就没有问题了)...

2019-07-03 09:54:34

PySpark安装和测试

简述先简单把流程过一遍,大家根据自己水平来看就好了。java的版本一定要安装到java8,高版本也不行,低版本也不行。安装Hadoop:http://www.apache.org/dyn/closer.cgi/hadoop/common安装Apach Spark:http://spark.apache.org/downloads.html安装pyspark:pip install py...

2019-07-02 12:16:46

CUR分解算法及Python实现

CUR分解要理解CUR分解,需要先看下SVD分解。SVD理论以及Python实现算法流程给定输入的矩阵A。A=C∗U∗RA=C*U*RA=C∗U∗R随机选r个列构成C和r个行构成R(也可以使用,平方和加权过的行和列(常用))然后选取W矩阵(C和R的交集,也就是被选出来的部分,在C和R中同时出现的A矩阵中的位置。)对W做SVD分解,得到X∑YTX\sumY^TX∑YT对∑...

2019-06-30 16:01:36

SVD理论以及Python实现

SVD将一个矩阵分解为U,V(U,V均为列正交矩阵,即列向量直接内积为0),中间的矩阵为对角阵,元素为奇异值。A[m∗n]=U[m∗r]∗∑[r∗r]∗(V[n∗r])TA_{[m*n]}=U_{[m*r]}*\sum_{[r*r]}*(V_{[n*r]})^TA[m∗n]​=U[m∗r]​∗[r∗r]∑​∗(V[n∗r]​)TSVD计算方式A=U∗∑∗VTAT=V∗∑∗UTA...

2019-06-30 15:04:20

PageRank算法以及Python实现(简洁版)

简述PageRank有点被神化了,其实公式很简单。文章目录简述算法模型定义Flow版本GoogleFormula实现算法主要是分为两种:The‘Flow’formulaTheGoogleformula模型定义很多个网页,直接存在链路关系,设为G,N*N的矩阵这里先只考虑有向无权无环图,即边有方向,且权重都一样,且没有自己到自己的边(环)。N为节点数或者是网页数...

2019-06-29 15:39:07

Python过滤掉numpy.array中非nan数据

代码需要先导入pandasarr的数据类型为一维的np.arrayimportpandasaspdarr[~pd.isnull(arr)]

2019-06-26 20:46:16

CPython教程

CPython-Tutorial-zh中文CPython教程简述Python有时候太慢,如果手动编译C或者是C++来写#include<Python.h>的文件也比较麻烦。CPython无疑是一个比较好的选择。这篇教程是基于https://cython.readthedocs.io/en/latest/src/tutorial/cython_tutorial.html...

2019-06-20 20:53:48

【中文情感分析】SO-PMI算法(HarvestText库的修正以及解析)

简述在最近的RA过程中,需要使用一个库,同时对其的原理需要理解。然后就研究了一些,发现了几个有趣的,其中一个HarvestText中文情感分析。我研究了他的源码后,再结合理论知识发现了这个库在情感分析上的一个很重要的问题。并提交了代码,完成了合并。下面是我的fork后的库https://github.com/Sean16SYSU/HarvestText文章目录简述SO-PMI算法PM...

2019-06-19 21:16:50

【解决办法】No module named 'ahocorasick'

操作pipinstallpyahocorasick-ihttps://pypi.tuna.tsinghua.edu.cn/simple/就好了Python3.6.6(v3.6.6:4cf1f54eb7,Jun272018,03:37:03)[MSCv.190064bit(AMD64)]onwin32Type"help","copyright",...

2019-06-11 21:59:54

c语言或者cpp中位运算的技巧

简述在知乎上看到一个题目,解答很有意思,用的是位运算。这让我觉得位运算有更多的算法可能,但是却还没被我用过。这种东西都是第一次看,觉得挺牛的,第二次,第三次看的时候就觉得没什么了。So,大佬们轻喷。基础涉及到二进制运算,如下:&|^三种运算,分别对应着交,并,异或交:两个对应位都是1,则为1,否则为0并:两个对应位只有一个是1,则为1,否则为0异或:两个对应位相...

2019-06-08 17:55:37

pandas内容像日期的数据如何变成真DataTime,并赋予时间类似的操作

变format:表示str的样式errors:如果出现的bug,那该怎么处理(raise表示出现了就给我爆出来)df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d', errors='raise')常用的format除了上面的还有:%Y/%m/%d%Y年%m日%d…Sort是没问题的按照日期排序先变了之...

2019-06-06 00:09:51

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。