- 博客(20)
- 资源 (7)
- 收藏
- 关注
原创 爬虫初体验之模拟登陆
最近网上看到别人可以用python模拟浏览器操作,学之,主要用到的模块是selenium,主要作用就是浏览器驱动,可以进行打开浏览器,点击浏览器页面按钮,输入账号密码等操作。下面是模拟登陆知乎的代码:需要对xpath有一定的了解,说白了其实就是网页上的路径。但短时间找对路径需要一定时间积累。 用的python2.7另外需要提前把Firefox的驱动路径放在系统path下,可以百度下载...
2018-03-26 08:39:13 249
原创 算法导论之快排
算法导论第七章是快速排序,很多公司面试得时候都可能会要求你手写快排。 并且主要分析一下快排的时间效率O(nlogn),分析这一块我以后看懂了会慢慢补上,今天终于自己可以手写一个快排的算法了。几天前别人问我的时候,我只是知道意思,却手写不出来,现在说明还是有点进步的。如果是递归式,那就无法避免需要仔细研读分支策略了。目前来看吗,还是进度为重。T(n) = 2*T(n/2) + O(n) =...
2018-03-25 15:23:13 880 1
原创 C# 用GZipStream 压缩流来压缩和解压文件
最近在用c#做一些工作,其中需要把文件进行压缩和解压。 有很多种方法,其中比较成熟的就是用别人的类。 可以参考博客c#压缩文件比较简单的方式就是用流压缩,将要写入的数据变成字节型数组,直接写入流中即可。代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using S...
2018-03-24 12:22:17 7043
原创 分析python代码中几处难点
最近在代码中见到了 诸如此类的句子,颇感疑惑,见识少,没办法,遂解之。@staticmethod在类中若对方法用上述装饰器修饰,则表明这个方法在其他类中调用不需要实例化。 即静态方法,类似于c#,java里的 static 方法。 __metaclass__ = abc.ABCMeta@abstractmethod上述是两个语句是一起出现的,是声明抽象基类最简单的方式。 ...
2018-03-21 00:12:27 1175
原创 Git与代码托管网站的对接
Git使用说明使用Git的最主要目的就是便于对自己 的一些项目进行管理,有版本回退的记录更改的功能,便于多人协同开发等等。 对于新手而言,最重要的是先用起来,用起来之后就可以逐步去理解Git的核心作用。 之前看别人的教程都是直接使用命令行来对网站github或码云的对接,对于初学者有点蒙蔽,但是可以用Git的官方GUI 会非常方便。Git的windows使用直接百度搜索下载Gi...
2018-03-20 11:26:05 341
原创 算法导论之插排
算法导论学的第一个算法就是插排, 用c++实现. 代码如下: 明显有很多地方可以优化。头文件:#include<iostream>#include<vector>using namespace std;class InertSort{public: void insersort(vector<int> &array) ...
2018-03-18 18:11:54 576
原创 算法导论导读
接触的第一本算法书是<算法导论>. 厚厚的一本书,刚买回来的时候还是雄心勃勃,看了几天差点放弃了. 很多内容自己不熟悉,对编程语言也不够扎实,很多算法知道意思,但是没能在代码上实现和验证,那都会理解不够透彻的.于是从基本功抓起. 先看了一遍c++再来看算法了.关于算法导论,内容太多了,但是可以先划重点,我们需要将算法导论里的重点知识消化掉,去刷算法题才会显得游刃有余. ...
2018-03-18 17:56:42 430
原创 牛客网刷题|矩阵中的路径
题目来源: 牛客网 这里写链接内容 这是别人的解法,看起来不是很直观..class Solution {public: bool hasPath(char* matrix, int rows, int cols, char* str) { int i; bool used[(const int)strlen(matrix)]; ...
2018-03-18 15:57:23 312
原创 牛客网刷题|机器人的运动范围
题目来源: 牛客网 编程链接地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?这道题考察的是B...
2018-03-17 23:23:45 448
原创 Git 最常使用的基本操作
从远程获取仓库:git clone 仓库状态:git status查看分支:git branch 前面有个星号说明在此分支上。创建本地分支:git branch list //list是分支名我在list分之下想推分支 需要输入:git push --set-upstream origin list之后可以查看远程分支...
2018-03-17 10:25:21 146
原创 牛客网刷题|连续子数组的最大和
题目来源: 牛客网 编程链接 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会...
2018-03-17 00:13:18 481
原创 牛客网刷题|最小的K个数
题目来源: 牛客网 编程链接输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。先简单的把数组排序,求前K个即可,考虑输入数组个数小于K的情况class Solution {public: vector<int> GetLeastNumbers_Solution(vector<in...
2018-03-16 23:43:06 216
原创 牛客网刷题|数组中出现次数超过一半的数字
题目来源: 牛客网: 编程连接: 第28题数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。解析: 记录第一个数记成flag,cnt=1,若下一个数还是这个数,则cnt+1,若不是,cnt-1;当cnt=0,把flag更新成...
2018-03-16 09:42:50 221
原创 c#/java通用类中的函数调用
总结 一个类里的静态函数和非静态函数的用法:class test1{ public static fun1() { test; }}class test2{ test1.fun1();//直接类名加函数即可}若:class test1{ public fun1() { test; ...
2018-03-15 20:25:25 217
原创 牛客网刷题|从尾到头打印链表
题目来源:牛客网 编程地址: 第三题 输入一个链表,从尾到头打印链表每个节点的值。 将链表从尾到投打印出来,很容易想到用stack来做。先入后出的特性。 将链表先一个个存进去,在一个个取出来。stack可以是int的也可以是ListNode 的,看你存什么了。 解法(3ms)class Solution {public: vector&amp;lt;int&amp;gt; print...
2018-03-14 23:13:44 260
原创 牛客网刷题|替换空格
题目来源:牛客网 编程链接: 第二题 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解法: 调用内嵌函数realloc,扩大字符串长度。 从字符串后面往前传。class Solution {public: void replaceSpace(char *str...
2018-03-14 22:50:04 200
原创 牛客网刷题|二维数组中的查找
题目来源牛客网: 编程链接 第一题 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解法1(9ms):暴力遍历整个二维数组,从右上或者左下开始,遇到的这个数若比目标数大,则目标数在这个数左边(列–),遇到小,则目标数在这个数下面(行++)。 使得运动方向唯一可控。class
2018-03-14 22:33:50 193
原创 牛客网刷题|从上往下打印二叉树
这个题在leetcode里也有的 题目大意: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 c++*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL...
2018-03-11 09:10:20 228
原创 牛客网刷题|顺时针打印数组
题目来源:牛客网 编程连接题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.解析: 题目很简单,代码实现需要注意很多细节,对for的使用需要很在意。初始...
2018-03-10 22:41:49 379
原创 [Leetcode从零开刷]693. Binary Number with Alternating Bits
题目来源:leetcodeGiven a positive integer, check whether it has alternating bits: namely, if two adjacent bits will always have different values. 翻译: 给一个正数,检查它的二进位是否交替出现。 如5:则是101 .,返回正确 10:1010,返回正...
2018-03-01 00:06:57 207
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人