- 博客(61)
- 资源 (2)
- 收藏
- 关注
原创 shell函数案例
来源:https://coding.m.imooc.com/classindex.html?cid=3141.函数返回值shell函数返回值分为两种return: return 只能返回0~255整数,0表示函数运行成功,非0表示函数运行失败,返回函数状态码echo: echo 作为函数的返回值代码:#!/bin/bash##得到到运行当前脚本的进程idthis_...
2019-10-25 10:58:39 402
原创 shell数学运算案例
来源:https://coding.m.imooc.com/classindex.html?cid=314案例1 :利用bc 命令进行浮点数运算#!/bin/bash#输入两个数计算两个数的商read -p "num1: " num1read -p "num2: " num2#scale 设置精度num3=`echo "scale=2;$num1/$num2" | bc`...
2019-10-23 14:39:57 257
原创 shell命令替换
来源:https://coding.m.imooc.com/classindex.html?cid=314语法: 语法格式 方法一 ·command· 方法二 $(conmand) 作用:将一个命令的结果作为另一个变量的参数例子:输出当前系统时间是当年的第几天、第几个星期、还有多少天,还有多少个星期#!/bin/b...
2019-10-22 14:44:39 890
原创 shell字符串处理脚本
来源:https://coding.m.imooc.com/classindex.html?cid=314下面的脚本对string进行简单的处理1.统计string长度2.删除string所有的Hadoop3.替换第一个Hadoop4.替换所有的Hadoop#!/bin/bashstring="Bigdata process framework is Hadoop,Ha...
2019-10-21 17:02:48 284
原创 shell脚本变量替换
来源:https://coding.m.imooc.com/classindex.html?cid=314#!/bin/bashvariable_1="me:i love you, do you love me , girl:i don't love you, go away\n"#从变量开头进行匹配,将符合匹配最短的字符串删除echo 'befor delete: ' $varia...
2019-10-21 14:19:51 987
原创 Socket error Event: 32 Error: 10053
最近买了一个vultr的一个云服务器用xshell登录的时候总是会包以下错误Socket error Event: 32 Error: 10053.Connection closing...Socket close.百度以下有几种解决办法但一直没用,直到看到一篇关于Linux 防火墙的博客,说这种错误可能是ssh的端口被防火墙保护所以我修改了/etc/ssh/sshd_co...
2019-10-14 14:30:52 17759 2
原创 冒泡排序
data = [4,3,7,2,10,23,11,24,13,2,1]n = len(data)#冒泡排序def paoSort(): for i in range(n-1): for j in range(n-i-1): if data[j] > data[j+1]: #交换 ...
2019-09-17 16:09:16 112
原创 matplotlib折线图
import matplotlib.pyplot as pltfrom pylab import mpl#折线图def ployLine(): #绘制折线点 #产生x,y列表,由于折线图的的性质x,y必须一一对应 #生成x轴上的点 x = range(2,26,2) #生成y轴上的点 y = [24, 24.5, 26, 28, 33, 3...
2019-09-02 12:00:11 164
原创 python当前路径
test.pyimport osprint(__file__)print(os.path.dirname(__file__))print(os.path.abspath(__file__))print(os.path.abspath(os.path.dirname(__file__)))
2019-08-13 23:19:50 2978
原创 optparse示例
from optparse import OptionParserparser = OptionParser()parser.add_option("-n", "--n", dest="name", help="what's you name")parser.add_option("-a", "--a", dest="age", help="how old are you")parse...
2019-05-21 10:46:23 130
原创 python 迭代器
"""手写一个迭代器 显示python 中迭代器的原理"""import timeclass Girls(object): def __init__(self): self.names = ["lena", "moon", "sara"] # python 中实现__iter__方法的对象可以成为一个可迭代对象iterable def __ite...
2019-04-28 15:50:49 125
原创 linux相关命令(极客时间笔记)
用户相关passwd 修改命令useradd 添加用户文件相关cat 查看文件ls -l 以列表的形式查看当前目录下的文件列表chmod 修改文件权限chown 修改文件用户chgru 修改文件所属组软件相关(无软件管家版) 安装软件 rpm -i x.rpm centos体系 dpkg -i x.deb ubuntu体系 查看软件列表 rpm -...
2019-04-16 15:46:23 585
原创 可能用到的windows命令
windows 命令winver 查看Windows版本cmd 打开Dos窗口regedit 打开注册表services.msc 打开windows服务列表dxdiag Diretx诊断工具 可查看电脑的硬件配置control ...
2019-04-16 15:36:36 143
原创 单例模式(懒汉模式)线程安全问题
单例模式代码示例/** 单例模式(懒汉模式)*/public class Singleton { private Singleton() {} //私有化构造方法 private static Singleton instance; public static Singleton getInstance() { try { Thread.sleep(100);...
2019-01-17 17:20:33 6455 5
原创 python暴力解压rar压缩包
写代码之前先吐槽一下rarfile这个第三方工具因为unrar的代码不公开所以python的解压工具还要依赖c的动态链接库,可非了我半天时间搜索具体解决办法:https://blog.csdn.net/ysy950803/article/details/52939708还有就是rarfile的extractall方法在遇到错误密码的时候竟然没有抛出异常信息,所以检查密码是否正确就只能观...
2019-01-05 18:04:26 4741 2
原创 快速排序
1.思想设需要排序的数组下标p-r,选择p-r任意一个数据pivot(分区点),遍历p-r,将小于pivot的数据放左边,大于pivot的数据放右边,pivot放中间,进过这一步骤后,数组p-r,即被分为三个部分(p、q-1)小于pivot(q+1、r)大于pivot中间是pivot,根据分治、递归的思想,递归排序p-q-1、q+1-r的数据,直到区间缩小为1说明数据有序图解:递推...
2018-12-04 11:07:52 158
原创 归并排序
归并排序1.思想将一个需要排序的数组分为(递归的)两半分别排序,然后将结果归并起来2.实现过程归并排序的过程是一个分治递归的过程写递归一个步骤1.写出递推表达式和终止条件2.实现递推代码os:是不是很简单,才怪!!!归并排序的递推式递推公式:merge_sort(lo…hi) = merge(merge_sort(lo…mid), merge_sor...
2018-12-03 14:43:53 170
原创 排序(冒泡、插入、选择)
排序是算法研究中比较重要的一个部分,这里列举比较简单的三种排序算法的c++实现1.交换函数交换函数可以让代码看上去更加简洁tip:在面试的时候,要求手写代码时,将一些重复的代码写成函数,还以为你的代码加分哦//交换数据void swap(int& a ,int& b){ int temp = a; a = b; b = temp;}2.冒泡排序...
2018-11-29 11:25:38 159
原创 快速幂
快速幂 一种快速求指数的方法一般求a^b的做法,就是将a循环相乘b次时间复杂度为O(b),即O(n),快速幂可以将时间复杂度将为O(logn)那它是如何做到的呢以b = 11 为例11 的 二进制 为 1011,即2^3*1+2^2*0+2^1*1+2^0*1,所以a^b = a^(2^3*1)*a^(2^2*0)*(2^1*1)*a*(2^0*1)①这里引入两个位操作符...
2018-11-27 11:58:36 149
原创 二分法及其变体问题
1.寻找一个元素在数组中的位置//二分查找int midfind1(int lo,int hi,int tar) { int mid; while (lo <= hi) { mid = lo + (hi - lo) / 2; if (a[mid] > tar) hi = mid - 1; else if (a[mid] < tar) lo = mid +...
2018-11-23 17:03:29 410
原创 二分法求平方根
1.问题利用二分法求一个数的平方根,精度要求 e < 10^-6;2.思路1.要求x(x>0)的完全平方根,则二分法范围为[low,up] 其中 low = 0, up = x2.令mid = (up+low)/23.以fabs(mid * mid - x) >=1e-6为循环条件3.1若满足条件,令mid = (up+low)/2,判断mid*mid与...
2018-11-22 16:27:15 14473 1
原创 不带括号的表达式计算
一、表达式形式2*3+6/3+5二、问题假设一中的表达式是一段程序可读的字符串,如何计算表达式的值三、思路1.创建两个栈,分别为数字栈、和运算符栈2.遍历字符串3.当遇到数字将数字存储到数字栈中4.当遇到运算符时,比较运算符栈顶元素和当前运算符的优先级4.1若当前元素大于栈顶元素,将当前元素压入运算符栈4.2若当前元素小于等于栈顶元素,将栈顶元素弹出4....
2018-11-16 17:40:59 1648 2
原创 带括号的表达式计算
一、表达式形式形如(3*(2+5)),每个运算符之间都有括号相隔二、问题假设一中的表达式是一段程序可读的字符串,如何计算表达式的值三、思路1.创建两个栈,分别为数字栈、和运算符栈2.遍历字符串2.1遍历遇到‘(’不处理2.2遍历到数字,将数字储存到数字栈中2.3遍历到运算符,将运算符储存到运算符栈中2.4遍历到‘)’,从数字栈中取出两个数,从运算符中取出栈顶...
2018-11-16 14:41:20 4152
原创 单链表关于环的几个问题
问题:1.单链表是否有环2.环的节点长度3.环的入口节点4.表头到环入口的节点长度问题1.思路:在表头设置fast、slow指针,fast一次遍历两个节点,slow一次遍历一个节点,若相遇则证明有环,反之则不存在环代码:/** *引入快慢指针,若指针相遇则证明链表有环 */Node * findRing(Node *head) { Node * fast...
2018-11-08 14:09:17 181
原创 requests-beautifulsoup-re爬取股票行情信息
问题:想利用python技术爬取网上股票的行情信息目标网站:东方财富网 http://quote.eastmoney.com/stocklist.html 百度金融 https://gupiao.baidu.com/stock/思路:观察百度金融网站,在它的链接后加上股票id.html就可以获得该股票的行情信息页面观察东方财富网的源代码可知股票id信息镶嵌在HTML...
2018-11-07 15:36:54 1284
原创 括号匹配(栈)
问题:利用程序判断字符串中的括号是否匹配[()],左右括号出现在对应位置则匹配,反之则不匹配思路:利用栈后进先出的特点0.从左自右遍历字符串1.遇到左括号时,将左括号压入栈中2.遇到右括号时,先判断栈是否为空,2.1若为空,则括号不匹配,右括号过多2.2若不为空,判断栈顶元素是否和左括号匹配3.当字符串遍历结束时,判断栈是否为空3.1若为空,则括号匹配...
2018-11-05 11:58:54 393
原创 requests-BeautifulSoup爬取美女贴吧图片
xx才是第一生产力爬取页面http://tieba.baidu.com/p/21662318801.getHtml(url)根据页面链接获取页面内容,值得值得注意的是这里使用了see_lz=1的参数获得只看楼主的页面,防止其他图片的干扰2.getImgUrl(ulist,html)使用了bs4库的find_all()方法得到所有图片的链接并存储到ulist中3.downloadIm...
2018-10-30 21:13:58 2364
原创 re库入门
1.正则表达式(regular expression)正则表达式是用来简洁表达一组字符串的表达式2.正则表达式的常用操作符 操作符 说明 实例 . 表示任何单个字符 [] 字符集,对单个字符给出取值范围 [...
2018-10-28 21:27:07 649
原创 requests-beautifulsoup爬取大学排名网站
1.根据url爬取页面内容def getHTMLText(url): try: r = requests.get(url,timeout=30)#设置超时时长为30s r.raise_for_status() r.encoding = r.apparent_encoding return r.text except: return ""2.使用beautifuls...
2018-10-26 14:08:20 637
原创 BeautifulSoup库的使用
1.安装这里使用最方便的安装方式,在cmd中输入命令(前提电脑安装了pip)pip install beautifulsoup42.beautifulsoup4的基本元素 基本元素 说明 Tag 标签,最基本的信息组织单元,分别用<>和</>标明开头和结尾 Name...
2018-10-25 22:47:08 499
原创 单链表操作
1.创建链表2.链表反转3.删除链表的倒数第k个元素4.返回链表的中间节点5.合并两个有序链表6.单链表关于环的几个问题关于链表操作有几个特别好的帖子讲解比较细:https://segmentfault.com/a/1190000008453411画的图不错:https://blog.csdn.net/qq_34992845/article/details/5394...
2018-10-23 21:14:22 152
原创 合并有序链表
对这个问题想法其实很直接1.p和q分别指向两个有序链表的头指针2.缓存其中一个头指针nhead,并用指针h指向它2.p和q分别开始遍历链表,并比较每次链表存放的数据3.如果p指向的数据较小,把p指向的节点连接到h节点的后面,h节点向后移一位,q节点向后移一位4.如果q指向的数据较小,重复上述操作,操作对象为q指针5.重复上述操作,若其中遍历结束,那遍历剩下的链表代码:...
2018-10-23 16:48:49 209
原创 找到链表的中间节点
问题和删除倒数第k个节点类似,如果两次遍历很容易得到结果这里可以使用快慢指针的方法p每次遍历两个节点,q每次遍历一个节点当p或者p的下一个节点为空时,q指向链表的中间节点代码:int midList(Node * head) {//快慢指针 Node * fast = head; Node * slow = head; while (fast&&fast...
2018-10-22 21:47:00 764
原创 遍历一次删除倒数第k个节点
如果遍历两遍链表,很容易就能想到方法,先遍历一边求出链表长度n,遍历第二遍时遍历到n-k位置删除n-k+1个节点现在是遍历一遍过程也很简单1.声明两个指针p、q,分别指向链表头结点,让p遍历到第k个节点处2.若p还没到k处就指向空,则链表长度不够,返回head3.p、q同时开始遍历链表直到p遍历到链表最后一个节点,这是q到达n-k个节点处,删除到q的下一个节点即可代码:N...
2018-10-22 21:36:05 1770
原创 request库爬虫实例
requests库api解释:requests.get(url, params=None, **kwargs) url : 拟获取页面的url链接params : url中的额外参数,字典或字节流格式,可选**kwargs: 12个控制访问的参数request.get()返回response对象Response对象属性 属性 说明 ...
2018-10-22 15:42:56 4433
原创 链表反转
原贴:https://blog.csdn.net/blioo/article/details/62050967反转过程:1.创建链表2.指针p保存第一个有数据的节点,将头节点和链表断开,用空指针q做反转后的最后一个节点3. 让第二个元素节点的指针从指向第三个元素节点变为指向第一个元素节点,以此类推,直至指针p指向原链表最后一个元素。 4.p指针指向NULL时,...
2018-10-21 16:52:41 171
原创 创建链表
1.头插法新元素从头部插入Node * head_initList() //头插法创建链表{ Node * head = new Node; //创建头指针 Node *s;//临时指针,指向新的节点 int n; while (cin >> n&&n != -1) { s = new Node; s->data = n; s-...
2018-10-21 16:07:48 580
原创 使用vector迭代器实现二分查找
//vector二分查找#include "stdafx.h"#include <iostream>#include <vector>using namespace std;int main(){ vector<int> text = { 1,2,4,5,6,7,8,10,12 }; int result; cin >> re...
2018-10-09 16:45:44 957
原创 const修饰变量时可能发生的错误
C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。const int a = 10;a = 20; //错误 a为不可修改的左值int a = 10;const int &r = a;a = 20;r = r + 1; //错误 ...
2018-10-09 10:25:49 625
java并发编程
2019-01-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人